mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 02:10:05 +08:00
80 lines
2.5 KiB
VimL
Vendored
80 lines
2.5 KiB
VimL
Vendored
" Vim filetype plugin file
|
|
" Language: SystemVerilog (superset extension of Verilog)
|
|
|
|
" Only do this when not done yet for this buffer
|
|
if exists("b:did_ftplugin")
|
|
finish
|
|
endif
|
|
|
|
" Define include string
|
|
setlocal include=^\\s*`include
|
|
|
|
" Set omni completion function
|
|
setlocal omnifunc=verilog#Complete
|
|
|
|
" Store cpoptions
|
|
let oldcpo=&cpoptions
|
|
set cpo-=C
|
|
|
|
" Undo the plugin effect
|
|
let b:undo_ftplugin = "setlocal fo< com< tw<"
|
|
\ . "| 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:*/,://
|
|
|
|
" Win32 and GTK can filter files in the browse dialog
|
|
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
|
let b:browsefilter = ""
|
|
\ . "Verilog Family Source Files\t*.v;*.vh;*.vp;*.sv;*.svh;*.svi;*.svp\n"
|
|
\ . "Verilog Source Files (*.v *.vh)\t*.v;*.vh\n"
|
|
\ . "SystemVerilog Source Files (*.sv *.svh *.svi *.sva)\t*.sv;*.svh;*.svi;*.sva\n"
|
|
\ . "Protected Files (*.vp *.svp)\t*.vp;*.svp\n"
|
|
\ . "All Files (*.*)\t*.*\n"
|
|
endif
|
|
" Override matchit configurations
|
|
if exists("loaded_matchit")
|
|
let b:match_ignorecase=0
|
|
let b:match_words=
|
|
\ '\<begin\>:\<end\>,' .
|
|
\ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
|
|
\ '`if\(n\)\?def\>:`elsif\>:`else\>:`endif\>,' .
|
|
\ '\<module\>:\<endmodule\>,' .
|
|
\ '\<if\>:\<else\>,' .
|
|
\ '\<fork\>\s*;\@!$:\<join\(_any\|_none\)\?\>,' .
|
|
\ '\<function\>:\<endfunction\>,' .
|
|
\ '\<task\>:\<endtask\>,' .
|
|
\ '\<specify\>:\<endspecify\>,' .
|
|
\ '\<config\>:\<endconfig\>,' .
|
|
\ '\<specify\>:\<endspecify\>,' .
|
|
\ '\<generate\>:\<endgenerate\>,' .
|
|
\ '\<primitive\>:\<endprimitive\>,' .
|
|
\ '\<table\>:\<endtable\>,' .
|
|
\ '\<class\>:\<endclass\>,' .
|
|
\ '\<checker\>:\<endchecker\>,' .
|
|
\ '\<interface\>:\<endinterface\>,' .
|
|
\ '\<clocking\>:\<endclocking\>,' .
|
|
\ '\<covergroup\>:\<endgroup\>,' .
|
|
\ '\<package\>:\<endpackage\>,' .
|
|
\ '\<program\>:\<endprogram\>,' .
|
|
\ '\<property\>:\<endproperty\>,' .
|
|
\ '\<sequence\>:\<endsequence\>'
|
|
endif
|
|
|
|
" Restore cpoptions
|
|
let &cpoptions=oldcpo
|
|
unlet oldcpo
|
|
|
|
" Raise warning if smartindent is defined
|
|
if &smartindent
|
|
echohl WarningMsg
|
|
redraw
|
|
echo "Option 'smartindent' should not be used in Verilog syntax, use 'autoindent' instead."
|
|
endif
|
|
|
|
" vi: set expandtab softtabstop=2 shiftwidth=2:
|