mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			95 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			95 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syn file | ||
|  | " Language:	Altera AHDL | ||
|  | " Maintainer:	John Cook <john.cook@kla-tencor.com> | ||
|  | " Last Change:	2001 Apr 25 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | "this language is oblivious to case. | ||
|  | syn case ignore | ||
|  | 
 | ||
|  | " a bunch of keywords | ||
|  | syn keyword ahdlKeyword assert begin bidir bits buried case clique | ||
|  | syn keyword ahdlKeyword connected_pins constant defaults define design | ||
|  | syn keyword ahdlKeyword device else elsif end for function generate | ||
|  | syn keyword ahdlKeyword gnd help_id if in include input is machine | ||
|  | syn keyword ahdlKeyword node of options others output parameters | ||
|  | syn keyword ahdlKeyword returns states subdesign table then title to | ||
|  | syn keyword ahdlKeyword tri_state_node variable vcc when with | ||
|  | 
 | ||
|  | " a bunch of types | ||
|  | syn keyword ahdlIdentifier carry cascade dffe dff exp global | ||
|  | syn keyword ahdlIdentifier jkffe jkff latch lcell mcell memory opendrn | ||
|  | syn keyword ahdlIdentifier soft srffe srff tffe tff tri wire x | ||
|  | 
 | ||
|  | syn keyword ahdlMegafunction lpm_and lpm_bustri lpm_clshift lpm_constant | ||
|  | syn keyword ahdlMegafunction lpm_decode lpm_inv lpm_mux lpm_or lpm_xor | ||
|  | syn keyword ahdlMegafunction busmux mux | ||
|  | 
 | ||
|  | syn keyword ahdlMegafunction divide lpm_abs lpm_add_sub lpm_compare | ||
|  | syn keyword ahdlMegafunction lpm_counter lpm_mult | ||
|  | 
 | ||
|  | syn keyword ahdlMegafunction altdpram csfifo dcfifo scfifo csdpram lpm_ff | ||
|  | syn keyword ahdlMegafunction lpm_latch lpm_shiftreg lpm_ram_dq lpm_ram_io | ||
|  | syn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc | ||
|  | 
 | ||
|  | syn keyword ahdlTodo contained TODO | ||
|  | 
 | ||
|  | " String contstants | ||
|  | syn region ahdlString start=+"+  skip=+\\"+  end=+"+ | ||
|  | 
 | ||
|  | " valid integer number formats (decimal, binary, octal, hex) | ||
|  | syn match ahdlNumber '\<\d\+\>' | ||
|  | syn match ahdlNumber '\<b"\(0\|1\|x\)\+"' | ||
|  | syn match ahdlNumber '\<\(o\|q\)"\o\+"' | ||
|  | syn match ahdlNumber '\<\(h\|x\)"\x\+"' | ||
|  | 
 | ||
|  | " operators | ||
|  | syn match   ahdlOperator "[!&#$+\-<>=?:\^]" | ||
|  | syn keyword ahdlOperator not and nand or nor xor xnor | ||
|  | syn keyword ahdlOperator mod div log2 used ceil floor | ||
|  | 
 | ||
|  | " one line and multi-line comments | ||
|  | " (define these after ahdlOperator so -- overrides -) | ||
|  | syn match  ahdlComment "--.*" contains=ahdlNumber,ahdlTodo | ||
|  | syn region ahdlComment start="%" end="%" contains=ahdlNumber,ahdlTodo | ||
|  | 
 | ||
|  | " other special characters | ||
|  | syn match   ahdlSpecialChar "[\[\]().,;]" | ||
|  | 
 | ||
|  | syn sync minlines=1 | ||
|  | 
 | ||
|  | " Define the default highlighting. | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_ahdl_syn_inits") | ||
|  |   if version < 508 | ||
|  |     let did_ahdl_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   " The default highlighting. | ||
|  |   HiLink ahdlNumber		ahdlString | ||
|  |   HiLink ahdlMegafunction	ahdlIdentifier | ||
|  |   HiLink ahdlSpecialChar	SpecialChar | ||
|  |   HiLink ahdlKeyword		Statement | ||
|  |   HiLink ahdlString		String | ||
|  |   HiLink ahdlComment		Comment | ||
|  |   HiLink ahdlIdentifier		Identifier | ||
|  |   HiLink ahdlOperator		Operator | ||
|  |   HiLink ahdlTodo		Todo | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "ahdl" | ||
|  | " vim:ts=8 |