codekingpro/portable-devtools
114k
1" Vim filetype plugin file2" Language: Verilog HDL3" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>4" Last Change: 2017 Aug 25 by Chih-Tsun Huang5" 2024 Jan 14 by Vim Project (browsefilter)6" 2024 May 20 by Riley Bruins <ribru17@gmail.com> (commentstring)7" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim8"9" Credits:10" Suggestions for improvement, bug reports by11" Shao <shaominghai2005@163.com>12 13" Only do this when not done yet for this buffer14if exists("b:did_ftplugin")15 finish16endif17 18" Don't load another plugin for this buffer19let b:did_ftplugin = 120 21" Set 'cpoptions' to allow line continuations22let s:cpo_save = &cpo23set cpo&vim24 25" Undo the plugin effect26let b:undo_ftplugin = "setlocal fo< com< tw< cms<"27 \ . "| unlet! b:browsefilter b:match_ignorecase b:match_words"28 29" Set 'formatoptions' to break comment lines but not other lines,30" and insert the comment leader when hitting <CR> or using "o".31setlocal fo-=t fo+=croqlm132 33" Set 'comments' to format dashed lists in comments.34setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://35setlocal commentstring=//\ %s36 37" Format comments to be up to 78 characters long38if &textwidth == 0 39 setlocal tw=7840endif41 42" Win32 and GTK can filter files in the browse dialog43if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")44 let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n"45 if has("win32")46 let b:browsefilter .= "All Files (*.*)\t*\n"47 else48 let b:browsefilter .= "All Files (*)\t*\n"49 endif50endif51 52" Let the matchit plugin know what items can be matched.53if exists("loaded_matchit")54 let b:match_ignorecase=055 let b:match_words=56 \ '\<begin\>:\<end\>,' .57 \ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .58 \ '\<module\>:\<endmodule\>,' .59 \ '\<if\>:`\@<!\<else\>,' .60 \ '\<function\>:\<endfunction\>,' .61 \ '`ifn\?def\>:`elsif\>:`else\>:`endif\>,' .62 \ '\<task\>:\<endtask\>,' .63 \ '\<specify\>:\<endspecify\>,' .64 \ '\<config\>:\<endconfig\>,' .65 \ '\<generate\>:\<endgenerate\>,' .66 \ '\<fork\>:\<join\>,' .67 \ '\<primitive\>:\<endprimitive\>,' .68 \ '\<table\>:\<endtable\>'69endif70 71" Reset 'cpoptions' back to the user's setting72let &cpo = s:cpo_save73unlet s:cpo_save74 