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