Install vim73
[msysgit/kirr.git] / share / vim / vim73 / syntax / verilogams.vim
blobd16e4bffb459b7cd14918dc98e5c6761652f1b7a
1 " Vim syntax file
2 " Language:    Verilog-AMS
3 " Maintainer:  S. Myles Prather <smprather@gmail.com>
5 " Version 1.1  S. Myles Prather <smprather@gmail.com>
6 "              Moved some keywords to the type category.
7 "              Added the metrix suffixes to the number matcher.
8 " Version 1.2  Prasanna Tamhankar <pratam@gmail.com>
9 "              Minor reserved keyword updates.
10 " Last Update: Thursday September 15 15:36:03 CST 2005 
12 " For version 5.x: Clear all syntax items
13 " For version 6.x: Quit when a syntax file was already loaded
14 if version < 600
15    syntax clear
16 elseif exists("b:current_syntax")
17    finish
18 endif
20 " Set the local value of the 'iskeyword' option
21 if version >= 600
22    setlocal iskeyword=@,48-57,_,192-255
23 else
24    set iskeyword=@,48-57,_,192-255
25 endif
27 " Annex B.1 'All keywords'
28 syn keyword verilogamsStatement above abs absdelay acos acosh ac_stim
29 syn keyword verilogamsStatement always analog analysis and asin
30 syn keyword verilogamsStatement asinh assign atan atan2 atanh
31 syn keyword verilogamsStatement buf bufif0 bufif1 ceil cmos connectmodule
32 syn keyword verilogamsStatement connectrules cos cosh cross ddt ddx deassign
33 syn keyword verilogamsStatement defparam disable discipline
34 syn keyword verilogamsStatement driver_update edge enddiscipline
35 syn keyword verilogamsStatement endconnectrules endmodule endfunction endgenerate
36 syn keyword verilogamsStatement endnature endparamset endprimitive endspecify
37 syn keyword verilogamsStatement endtable endtask event exp final_step
38 syn keyword verilogamsStatement flicker_noise floor flow force fork
39 syn keyword verilogamsStatement function generate highz0
40 syn keyword verilogamsStatement highz1 hypot idt idtmod if ifnone inf initial
41 syn keyword verilogamsStatement initial_step inout input join
42 syn keyword verilogamsStatement laplace_nd laplace_np laplace_zd laplace_zp
43 syn keyword verilogamsStatement large last_crossing limexp ln localparam log
44 syn keyword verilogamsStatement macromodule max medium min module nand nature
45 syn keyword verilogamsStatement negedge net_resolution nmos noise_table nor not
46 syn keyword verilogamsStatement notif0 notif1 or output paramset pmos
47 syn keyword verilogamsType      parameter real integer electrical input output
48 syn keyword verilogamsType      inout reg tri tri0 tri1 triand trior trireg
49 syn keyword verilogamsType      string from exclude aliasparam ground genvar
50 syn keyword verilogamsType      branch time realtime
51 syn keyword verilogamsStatement posedge potential pow primitive pull0 pull1
52 syn keyword verilogamsStatement pullup pulldown rcmos release
53 syn keyword verilogamsStatement rnmos rpmos rtran rtranif0 rtranif1
54 syn keyword verilogamsStatement scalared sin sinh slew small specify specparam
55 syn keyword verilogamsStatement sqrt strong0 strong1 supply0 supply1
56 syn keyword verilogamsStatement table tan tanh task timer tran tranif0
57 syn keyword verilogamsStatement tranif1 transition
58 syn keyword verilogamsStatement vectored wait wand weak0 weak1
59 syn keyword verilogamsStatement white_noise wire wor wreal xnor xor zi_nd
60 syn keyword verilogamsStatement zi_np zi_zd zi_zp
61 syn keyword verilogamsRepeat    forever repeat while for
62 syn keyword verilogamsLabel     begin end
63 syn keyword verilogamsConditional if else case casex casez default endcase
64 syn match   verilogamsConstant  ":inf"lc=1
65 syn match   verilogamsConstant  "-inf"lc=1
66 " Annex B.2 Discipline/nature
67 syn keyword verilogamsStatement abstol access continuous ddt_nature discrete
68 syn keyword verilogamsStatement domain idt_nature units 
69 " Annex B.3 Connect Rules
70 syn keyword verilogamsStatement connect merged resolveto split
72 syn match   verilogamsOperator  "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]"
73 syn match   verilogamsOperator  "<+"
74 syn match   verilogamsStatement "[vV]("me=e-1
75 syn match   verilogamsStatement "[iI]("me=e-1
77 syn keyword verilogamsTodo contained TODO
78 syn region  verilogamsComment start="/\*" end="\*/" contains=verilogamsTodo
79 syn match   verilogamsComment "//.*" contains=verilogamsTodo
81 syn match verilogamsGlobal "`celldefine"
82 syn match verilogamsGlobal "`default_nettype"
83 syn match verilogamsGlobal "`define"
84 syn match verilogamsGlobal "`else"
85 syn match verilogamsGlobal "`elsif"
86 syn match verilogamsGlobal "`endcelldefine"
87 syn match verilogamsGlobal "`endif"
88 syn match verilogamsGlobal "`ifdef"
89 syn match verilogamsGlobal "`ifndef"
90 syn match verilogamsGlobal "`include"
91 syn match verilogamsGlobal "`line"
92 syn match verilogamsGlobal "`nounconnected_drive"
93 syn match verilogamsGlobal "`resetall"
94 syn match verilogamsGlobal "`timescale"
95 syn match verilogamsGlobal "`unconnected_drive"
96 syn match verilogamsGlobal "`undef"
97 syn match verilogamsSystask "$[a-zA-Z0-9_]\+\>"
99 syn match verilogamsConstant "\<[A-Z][A-Z0-9_]\+\>"
101 syn match   verilogamsNumber "\(\<\d\+\|\)'[bB]\s*[0-1_xXzZ?]\+\>"
102 syn match   verilogamsNumber "\(\<\d\+\|\)'[oO]\s*[0-7_xXzZ?]\+\>"
103 syn match   verilogamsNumber "\(\<\d\+\|\)'[dD]\s*[0-9_xXzZ?]\+\>"
104 syn match   verilogamsNumber "\(\<\d\+\|\)'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>"
105 syn match   verilogamsNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)[TGMKkmunpfa]\=\>"
107 syn region  verilogamsString start=+"+ skip=+\\"+ end=+"+ contains=verilogamsEscape
108 syn match   verilogamsEscape +\\[nt"\\]+ contained
109 syn match   verilogamsEscape "\\\o\o\=\o\=" contained
111 "Modify the following as needed.  The trade-off is performance versus
112 "functionality.
113 syn sync lines=50
115 " Define the default highlighting.
116 " For version 5.7 and earlier: only when not done already
117 " For version 5.8 and later: only when an item doesn't have highlighting yet
118 if version >= 508 || !exists("did_verilogams_syn_inits")
119    if version < 508
120       let did_verilogams_syn_inits = 1
121       command -nargs=+ HiLink hi link <args>
122    else
123       command -nargs=+ HiLink hi def link <args>
124    endif
126    " The default highlighting.
127    HiLink verilogamsCharacter    Character
128    HiLink verilogamsConditional  Conditional
129    HiLink verilogamsRepeat       Repeat
130    HiLink verilogamsString       String
131    HiLink verilogamsTodo         Todo
132    HiLink verilogamsComment      Comment
133    HiLink verilogamsConstant     Constant
134    HiLink verilogamsLabel        Label
135    HiLink verilogamsNumber       Number
136    HiLink verilogamsOperator     Special
137    HiLink verilogamsStatement    Statement
138    HiLink verilogamsGlobal       Define
139    HiLink verilogamsDirective    SpecialComment
140    HiLink verilogamsEscape       Special
141    HiLink verilogamsType         Type
142    HiLink verilogamsSystask      Function
144    delcommand HiLink
145 endif
147 let b:current_syntax = "verilogams"
149 " vim: ts=8