1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- " Vim filetype plugin file
- " Language: Verilog HDL
- " Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>
- " Last Change: 2017 Aug 25 by Chih-Tsun Huang
- " 2024 Jan 14 by Vim Project (browsefilter)
- " 2024 May 20 by Riley Bruins <ribru17@gmail.com> (commentstring)
- " URL: http://www.cs.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
- "
- " Credits:
- " Suggestions for improvement, bug reports by
- " Shao <shaominghai2005@163.com>
- " Only do this when not done yet for this buffer
- if exists("b:did_ftplugin")
- finish
- endif
- " Don't load another plugin for this buffer
- let b:did_ftplugin = 1
- " Set 'cpoptions' to allow line continuations
- let s:cpo_save = &cpo
- set cpo&vim
- " Undo the plugin effect
- let b:undo_ftplugin = "setlocal fo< com< tw< cms<"
- \ . "| unlet! b:browsefilter b:match_ignorecase b:match_words"
- " Set 'formatoptions' to break comment lines but not other lines,
- " and insert the comment leader when hitting <CR> or using "o".
- setlocal fo-=t fo+=croqlm1
- " Set 'comments' to format dashed lists in comments.
- setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
- setlocal commentstring=//\ %s
- " Format comments to be up to 78 characters long
- if &textwidth == 0
- setlocal tw=78
- endif
- " Win32 and GTK can filter files in the browse dialog
- if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
- let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n"
- if has("win32")
- let b:browsefilter .= "All Files (*.*)\t*\n"
- else
- let b:browsefilter .= "All Files (*)\t*\n"
- endif
- endif
- " Let the matchit plugin know what items can be matched.
- if exists("loaded_matchit")
- let b:match_ignorecase=0
- let b:match_words=
- \ '\<begin\>:\<end\>,' .
- \ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
- \ '\<module\>:\<endmodule\>,' .
- \ '\<if\>:`\@<!\<else\>,' .
- \ '\<function\>:\<endfunction\>,' .
- \ '`ifn\?def\>:`elsif\>:`else\>:`endif\>,' .
- \ '\<task\>:\<endtask\>,' .
- \ '\<specify\>:\<endspecify\>,' .
- \ '\<config\>:\<endconfig\>,' .
- \ '\<generate\>:\<endgenerate\>,' .
- \ '\<fork\>:\<join\>,' .
- \ '\<primitive\>:\<endprimitive\>,' .
- \ '\<table\>:\<endtable\>'
- endif
- " Reset 'cpoptions' back to the user's setting
- let &cpo = s:cpo_save
- unlet s:cpo_save
|