| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim filetype plugin file | 
					
						
							|  |  |  | " Language:	Verilog HDL | 
					
						
							| 
									
										
										
										
											2017-08-27 16:52:01 +02:00
										 |  |  | " Maintainer:	Chih-Tsun Huang <cthuang@cs.nthu.edu.tw> | 
					
						
							|  |  |  | " Last Change:	2017 Aug 25 by Chih-Tsun Huang | 
					
						
							| 
									
										
										
										
											2024-01-14 20:59:02 +01:00
										 |  |  | "		2024 Jan 14 by Vim Project (browsefilter) | 
					
						
							| 
									
										
										
										
											2017-08-27 16:52:01 +02:00
										 |  |  | " URL:	    	http://www.cs.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | " Credits: | 
					
						
							|  |  |  | "   Suggestions for improvement, bug reports by | 
					
						
							|  |  |  | "     Shao <shaominghai2005@163.com> | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  | " Set 'cpoptions' to allow line continuations | 
					
						
							|  |  |  | let s:cpo_save = &cpo | 
					
						
							|  |  |  | set cpo&vim | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-09-05 22:11:52 +00:00
										 |  |  | " Undo the plugin effect | 
					
						
							|  |  |  | let b:undo_ftplugin = "setlocal fo< com< tw<" | 
					
						
							| 
									
										
										
										
											2006-05-02 22:08:30 +00:00
										 |  |  |     \ . "| unlet! b:browsefilter b:match_ignorecase b:match_words" | 
					
						
							| 
									
										
										
										
											2005-09-05 22:11:52 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " 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:*/,:// | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Format comments to be up to 78 characters long | 
					
						
							| 
									
										
										
										
											2005-09-05 22:11:52 +00:00
										 |  |  | if &textwidth == 0  | 
					
						
							|  |  |  |   setlocal tw=78 | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-14 20:59:02 +01:00
										 |  |  | " 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 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 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\>,' . | 
					
						
							| 
									
										
										
										
											2017-08-27 16:52:01 +02:00
										 |  |  |     \ '\<if\>:`\@<!\<else\>,' . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |     \ '\<function\>:\<endfunction\>,' . | 
					
						
							| 
									
										
										
										
											2017-08-27 16:52:01 +02:00
										 |  |  |     \ '`ifn\?def\>:`elsif\>:`else\>:`endif\>,' . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |     \ '\<task\>:\<endtask\>,' . | 
					
						
							| 
									
										
										
										
											2017-08-27 16:52:01 +02:00
										 |  |  |     \ '\<specify\>:\<endspecify\>,' . | 
					
						
							|  |  |  |     \ '\<config\>:\<endconfig\>,' . | 
					
						
							|  |  |  |     \ '\<generate\>:\<endgenerate\>,' . | 
					
						
							|  |  |  |     \ '\<fork\>:\<join\>,' . | 
					
						
							|  |  |  |     \ '\<primitive\>:\<endprimitive\>,' . | 
					
						
							|  |  |  |     \ '\<table\>:\<endtable\>' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | endif | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Reset 'cpoptions' back to the user's setting | 
					
						
							|  |  |  | let &cpo = s:cpo_save | 
					
						
							|  |  |  | unlet s:cpo_save |