Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/cupl.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | 67300faee616 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: CUPL | |
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 | |
8 if version < 600 | |
9 syntax clear | |
10 elseif exists("b:current_syntax") | |
11 finish | |
12 endif | |
13 | |
14 " this language is oblivious to case. | |
15 syn case ignore | |
16 | |
17 " A bunch of keywords | |
18 syn keyword cuplHeader name partno date revision rev designer company nextgroup=cuplHeaderContents | |
19 syn keyword cuplHeader assembly assy location device nextgroup=cuplHeaderContents | |
20 | |
21 syn keyword cuplTodo contained TODO XXX FIXME | |
22 | |
23 " cuplHeaderContents uses default highlighting except for numbers | |
24 syn match cuplHeaderContents ".\+;"me=e-1 contains=cuplNumber contained | |
25 | |
26 " String contstants | |
27 syn region cuplString start=+'+ end=+'+ | |
28 syn region cuplString start=+"+ end=+"+ | |
29 | |
30 syn keyword cuplStatement append condition | |
31 syn keyword cuplStatement default else | |
32 syn keyword cuplStatement field fld format function fuse | |
33 syn keyword cuplStatement group if jump loc | |
34 syn keyword cuplStatement macro min node out | |
35 syn keyword cuplStatement pin pinnode present table | |
36 syn keyword cuplStatement sequence sequenced sequencejk sequencers sequencet | |
37 | |
38 syn keyword cuplFunction log2 log8 log16 log | |
39 | |
40 " Valid integer number formats (decimal, binary, octal, hex) | |
41 syn match cuplNumber "\<[-+]\=[0-9]\+\>" | |
42 syn match cuplNumber "'d'[0-9]\+\>" | |
43 syn match cuplNumber "'b'[01x]\+\>" | |
44 syn match cuplNumber "'o'[0-7x]\+\>" | |
45 syn match cuplNumber "'h'[0-9a-fx]\+\>" | |
46 | |
47 " operators | |
48 syn match cuplLogicalOperator "[!#&$]" | |
49 syn match cuplArithmeticOperator "[-+*/%]" | |
50 syn match cuplArithmeticOperator "\*\*" | |
51 syn match cuplAssignmentOperator ":\==" | |
52 syn match cuplEqualityOperator ":" | |
53 syn match cuplTruthTableOperator "=>" | |
54 | |
55 " Signal extensions | |
56 syn match cuplExtension "\.[as][pr]\>" | |
57 syn match cuplExtension "\.oe\>" | |
58 syn match cuplExtension "\.oemux\>" | |
59 syn match cuplExtension "\.[dlsrjk]\>" | |
60 syn match cuplExtension "\.ck\>" | |
61 syn match cuplExtension "\.dq\>" | |
62 syn match cuplExtension "\.ckmux\>" | |
63 syn match cuplExtension "\.tec\>" | |
64 syn match cuplExtension "\.cnt\>" | |
65 | |
66 syn match cuplRangeOperator "\.\." contained | |
67 | |
68 " match ranges like memadr:[0000..1FFF] | |
69 " and highlight both the numbers and the .. operator | |
70 syn match cuplNumberRange "\<\x\+\.\.\x\+\>" contains=cuplRangeOperator | |
71 | |
72 " match vectors of type [name3..0] (decimal numbers only) | |
73 " but assign them no special highlighting except for the .. operator | |
74 syn match cuplBitVector "\<\a\+\d\+\.\.\d\+\>" contains=cuplRangeOperator | |
75 | |
76 " other special characters | |
77 syn match cuplSpecialChar "[\[\](){},;]" | |
78 | |
79 " directives | |
80 " (define these after cuplOperator so $xxx overrides $) | |
81 syn match cuplDirective "\$msg" | |
82 syn match cuplDirective "\$macro" | |
83 syn match cuplDirective "\$mend" | |
84 syn match cuplDirective "\$repeat" | |
85 syn match cuplDirective "\$repend" | |
86 syn match cuplDirective "\$define" | |
87 syn match cuplDirective "\$include" | |
88 | |
89 " multi-line comments | |
90 syn region cuplComment start=+/\*+ end=+\*/+ contains=cuplNumber,cuplTodo | |
91 | |
92 syn sync minlines=1 | |
93 | |
94 " Define the default highlighting. | |
95 " For version 5.7 and earlier: only when not done already | |
96 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
97 if version >= 508 || !exists("did_cupl_syn_inits") | |
98 if version < 508 | |
99 let did_cupl_syn_inits = 1 | |
100 command -nargs=+ HiLink hi link <args> | |
101 else | |
102 command -nargs=+ HiLink hi def link <args> | |
103 endif | |
104 | |
105 " The default highlighting. | |
106 HiLink cuplHeader cuplStatement | |
107 HiLink cuplLogicalOperator cuplOperator | |
108 HiLink cuplRangeOperator cuplOperator | |
109 HiLink cuplArithmeticOperator cuplOperator | |
110 HiLink cuplAssignmentOperator cuplOperator | |
111 HiLink cuplEqualityOperator cuplOperator | |
112 HiLink cuplTruthTableOperator cuplOperator | |
113 HiLink cuplOperator cuplStatement | |
114 HiLink cuplFunction cuplStatement | |
115 HiLink cuplStatement Statement | |
116 HiLink cuplNumberRange cuplNumber | |
117 HiLink cuplNumber cuplString | |
118 HiLink cuplString String | |
119 HiLink cuplComment Comment | |
120 HiLink cuplExtension cuplSpecial | |
121 HiLink cuplSpecialChar cuplSpecial | |
122 HiLink cuplSpecial Special | |
123 HiLink cuplDirective PreProc | |
124 HiLink cuplTodo Todo | |
125 | |
126 delcommand HiLink | |
127 endif | |
128 | |
129 let b:current_syntax = "cupl" | |
130 " vim:ts=8 |