annotate runtime/syntax/ahdl.vim @ 0:76efa0be13f1

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