1" Vim syn file 2" Language: Altera AHDL 3" Maintainer: John Cook <[email protected]> 4" Last Change: 2001 Apr 25 5 6" quit when a syntax file was already loaded 7if exists("b:current_syntax") 8 finish 9endif 10 11"this language is oblivious to case. 12syn case ignore 13 14" a bunch of keywords 15syn keyword ahdlKeyword assert begin bidir bits buried case clique 16syn keyword ahdlKeyword connected_pins constant defaults define design 17syn keyword ahdlKeyword device else elsif end for function generate 18syn keyword ahdlKeyword gnd help_id if in include input is machine 19syn keyword ahdlKeyword node of options others output parameters 20syn keyword ahdlKeyword returns states subdesign table then title to 21syn keyword ahdlKeyword tri_state_node variable vcc when with 22 23" a bunch of types 24syn keyword ahdlIdentifier carry cascade dffe dff exp global 25syn keyword ahdlIdentifier jkffe jkff latch lcell mcell memory opendrn 26syn keyword ahdlIdentifier soft srffe srff tffe tff tri wire x 27 28syn keyword ahdlMegafunction lpm_and lpm_bustri lpm_clshift lpm_constant 29syn keyword ahdlMegafunction lpm_decode lpm_inv lpm_mux lpm_or lpm_xor 30syn keyword ahdlMegafunction busmux mux 31 32syn keyword ahdlMegafunction divide lpm_abs lpm_add_sub lpm_compare 33syn keyword ahdlMegafunction lpm_counter lpm_mult 34 35syn keyword ahdlMegafunction altdpram csfifo dcfifo scfifo csdpram lpm_ff 36syn keyword ahdlMegafunction lpm_latch lpm_shiftreg lpm_ram_dq lpm_ram_io 37syn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc 38 39syn keyword ahdlTodo contained TODO 40 41" String constants 42syn region ahdlString start=+"+ skip=+\\"+ end=+"+ 43 44" valid integer number formats (decimal, binary, octal, hex) 45syn match ahdlNumber '\<\d\+\>' 46syn match ahdlNumber '\<b"\(0\|1\|x\)\+"' 47syn match ahdlNumber '\<\(o\|q\)"\o\+"' 48syn match ahdlNumber '\<\(h\|x\)"\x\+"' 49 50" operators 51syn match ahdlOperator "[!&#$+\-<>=?:\^]" 52syn keyword ahdlOperator not and nand or nor xor xnor 53syn keyword ahdlOperator mod div log2 used ceil floor 54 55" one line and multi-line comments 56" (define these after ahdlOperator so -- overrides -) 57syn match ahdlComment "--.*" contains=ahdlNumber,ahdlTodo 58syn region ahdlComment start="%" end="%" contains=ahdlNumber,ahdlTodo 59 60" other special characters 61syn match ahdlSpecialChar "[\[\]().,;]" 62 63syn sync minlines=1 64 65" Define the default highlighting. 66" Only when an item doesn't have highlighting yet 67 68" The default highlighting. 69hi def link ahdlNumber ahdlString 70hi def link ahdlMegafunction ahdlIdentifier 71hi def link ahdlSpecialChar SpecialChar 72hi def link ahdlKeyword Statement 73hi def link ahdlString String 74hi def link ahdlComment Comment 75hi def link ahdlIdentifier Identifier 76hi def link ahdlOperator Operator 77hi def link ahdlTodo Todo 78 79 80let b:current_syntax = "ahdl" 81" vim:ts=8 82