3 " Maintainer: Toby Schaffer <jtschaff@eos.ncsu.edu>
4 " Last Change: 2001 May 09
5 " Comments: SKILL is a Lisp-like programming language for use in EDA
6 " tools from Cadence Design Systems. It allows you to have
7 " a programming environment within the Cadence environment
8 " that gives you access to the complete tool set and design
9 " database. This file also defines syntax highlighting for
10 " certain Design Framework II interface functions.
12 " For version 5.x: Clear all syntax items
13 " For version 6.x: Quit when a syntax file was already loaded
16 elseif exists("b:current_syntax")
20 syn keyword skillConstants t nil unbound
22 " enumerate all the SKILL reserved words/functions
23 syn match skillFunction "(abs\>"hs=s+1
24 syn match skillFunction "\<abs("he=e-1
25 syn match skillFunction "(a\=cos\>"hs=s+1
26 syn match skillFunction "\<a\=cos("he=e-1
27 syn match skillFunction "(add1\>"hs=s+1
28 syn match skillFunction "\<add1("he=e-1
29 syn match skillFunction "(addDefstructClass\>"hs=s+1
30 syn match skillFunction "\<addDefstructClass("he=e-1
31 syn match skillFunction "(alias\>"hs=s+1
32 syn match skillFunction "\<alias("he=e-1
33 syn match skillFunction "(alphalessp\>"hs=s+1
34 syn match skillFunction "\<alphalessp("he=e-1
35 syn match skillFunction "(alphaNumCmp\>"hs=s+1
36 syn match skillFunction "\<alphaNumCmp("he=e-1
37 syn match skillFunction "(append1\=\>"hs=s+1
38 syn match skillFunction "\<append1\=("he=e-1
39 syn match skillFunction "(apply\>"hs=s+1
40 syn match skillFunction "\<apply("he=e-1
41 syn match skillFunction "(arrayp\>"hs=s+1
42 syn match skillFunction "\<arrayp("he=e-1
43 syn match skillFunction "(arrayref\>"hs=s+1
44 syn match skillFunction "\<arrayref("he=e-1
45 syn match skillFunction "(a\=sin\>"hs=s+1
46 syn match skillFunction "\<a\=sin("he=e-1
47 syn match skillFunction "(assoc\>"hs=s+1
48 syn match skillFunction "\<assoc("he=e-1
49 syn match skillFunction "(ass[qv]\>"hs=s+1
50 syn match skillFunction "\<ass[qv]("he=e-1
51 syn match skillFunction "(a\=tan\>"hs=s+1
52 syn match skillFunction "\<a\=tan("he=e-1
53 syn match skillFunction "(ato[fim]\>"hs=s+1
54 syn match skillFunction "\<ato[fim]("he=e-1
55 syn match skillFunction "(bcdp\>"hs=s+1
56 syn match skillFunction "\<bcdp("he=e-1
57 syn match skillKeywords "(begin\>"hs=s+1
58 syn match skillKeywords "\<begin("he=e-1
59 syn match skillFunction "(booleanp\>"hs=s+1
60 syn match skillFunction "\<booleanp("he=e-1
61 syn match skillFunction "(boundp\>"hs=s+1
62 syn match skillFunction "\<boundp("he=e-1
63 syn match skillFunction "(buildString\>"hs=s+1
64 syn match skillFunction "\<buildString("he=e-1
65 syn match skillFunction "(c[ad]{1,3}r\>"hs=s+1
66 syn match skillFunction "\<c[ad]{1,3}r("he=e-1
67 syn match skillConditional "(caseq\=\>"hs=s+1
68 syn match skillConditional "\<caseq\=("he=e-1
69 syn match skillFunction "(ceiling\>"hs=s+1
70 syn match skillFunction "\<ceiling("he=e-1
71 syn match skillFunction "(changeWorkingDir\>"hs=s+1
72 syn match skillFunction "\<changeWorkingDir("he=e-1
73 syn match skillFunction "(charToInt\>"hs=s+1
74 syn match skillFunction "\<charToInt("he=e-1
75 syn match skillFunction "(clearExitProcs\>"hs=s+1
76 syn match skillFunction "\<clearExitProcs("he=e-1
77 syn match skillFunction "(close\>"hs=s+1
78 syn match skillFunction "\<close("he=e-1
79 syn match skillFunction "(compareTime\>"hs=s+1
80 syn match skillFunction "\<compareTime("he=e-1
81 syn match skillFunction "(compress\>"hs=s+1
82 syn match skillFunction "\<compress("he=e-1
83 syn match skillFunction "(concat\>"hs=s+1
84 syn match skillFunction "\<concat("he=e-1
85 syn match skillConditional "(cond\>"hs=s+1
86 syn match skillConditional "\<cond("he=e-1
87 syn match skillFunction "(cons\>"hs=s+1
88 syn match skillFunction "\<cons("he=e-1
89 syn match skillFunction "(copy\>"hs=s+1
90 syn match skillFunction "\<copy("he=e-1
91 syn match skillFunction "(copyDefstructDeep\>"hs=s+1
92 syn match skillFunction "\<copyDefstructDeep("he=e-1
93 syn match skillFunction "(createDir\>"hs=s+1
94 syn match skillFunction "\<createDir("he=e-1
95 syn match skillFunction "(csh\>"hs=s+1
96 syn match skillFunction "\<csh("he=e-1
97 syn match skillKeywords "(declare\>"hs=s+1
98 syn match skillKeywords "\<declare("he=e-1
99 syn match skillKeywords "(declare\(N\|SQN\)\=Lambda\>"hs=s+1
100 syn match skillKeywords "\<declare\(N\|SQN\)\=Lambda("he=e-1
101 syn match skillKeywords "(defmacro\>"hs=s+1
102 syn match skillKeywords "\<defmacro("he=e-1
103 syn match skillKeywords "(defprop\>"hs=s+1
104 syn match skillKeywords "\<defprop("he=e-1
105 syn match skillKeywords "(defstruct\>"hs=s+1
106 syn match skillKeywords "\<defstruct("he=e-1
107 syn match skillFunction "(defstructp\>"hs=s+1
108 syn match skillFunction "\<defstructp("he=e-1
109 syn match skillKeywords "(defun\>"hs=s+1
110 syn match skillKeywords "\<defun("he=e-1
111 syn match skillKeywords "(defUserInitProc\>"hs=s+1
112 syn match skillKeywords "\<defUserInitProc("he=e-1
113 syn match skillKeywords "(defvar\>"hs=s+1
114 syn match skillKeywords "\<defvar("he=e-1
115 syn match skillFunction "(delete\(Dir\|File\)\>"hs=s+1
116 syn match skillKeywords "\<delete\(Dir\|File\)("he=e-1
117 syn match skillFunction "(display\>"hs=s+1
118 syn match skillFunction "\<display("he=e-1
119 syn match skillFunction "(drain\>"hs=s+1
120 syn match skillFunction "\<drain("he=e-1
121 syn match skillFunction "(dtpr\>"hs=s+1
122 syn match skillFunction "\<dtpr("he=e-1
123 syn match skillFunction "(ed\(i\|l\|it\)\=\>"hs=s+1
124 syn match skillFunction "\<ed\(i\|l\|it\)\=("he=e-1
125 syn match skillFunction "(envobj\>"hs=s+1
126 syn match skillFunction "\<envobj("he=e-1
127 syn match skillFunction "(equal\>"hs=s+1
128 syn match skillFunction "\<equal("he=e-1
129 syn match skillFunction "(eqv\=\>"hs=s+1
130 syn match skillFunction "\<eqv\=("he=e-1
131 syn match skillFunction "(err\>"hs=s+1
132 syn match skillFunction "\<err("he=e-1
133 syn match skillFunction "(error\>"hs=s+1
134 syn match skillFunction "\<error("he=e-1
135 syn match skillFunction "(errset\>"hs=s+1
136 syn match skillFunction "\<errset("he=e-1
137 syn match skillFunction "(errsetstring\>"hs=s+1
138 syn match skillFunction "\<errsetstring("he=e-1
139 syn match skillFunction "(eval\>"hs=s+1
140 syn match skillFunction "\<eval("he=e-1
141 syn match skillFunction "(evalstring\>"hs=s+1
142 syn match skillFunction "\<evalstring("he=e-1
143 syn match skillFunction "(evenp\>"hs=s+1
144 syn match skillFunction "\<evenp("he=e-1
145 syn match skillFunction "(exists\>"hs=s+1
146 syn match skillFunction "\<exists("he=e-1
147 syn match skillFunction "(exit\>"hs=s+1
148 syn match skillFunction "\<exit("he=e-1
149 syn match skillFunction "(exp\>"hs=s+1
150 syn match skillFunction "\<exp("he=e-1
151 syn match skillFunction "(expandMacro\>"hs=s+1
152 syn match skillFunction "\<expandMacro("he=e-1
153 syn match skillFunction "(file\(Length\|Seek\|Tell\|TimeModified\)\>"hs=s+1
154 syn match skillFunction "\<file\(Length\|Seek\|Tell\|TimeModified\)("he=e-1
155 syn match skillFunction "(fixp\=\>"hs=s+1
156 syn match skillFunction "\<fixp\=("he=e-1
157 syn match skillFunction "(floatp\=\>"hs=s+1
158 syn match skillFunction "\<floatp\=("he=e-1
159 syn match skillFunction "(floor\>"hs=s+1
160 syn match skillFunction "\<floor("he=e-1
161 syn match skillRepeat "(for\(all\|each\)\=\>"hs=s+1
162 syn match skillRepeat "\<for\(all\|each\)\=("he=e-1
163 syn match skillFunction "([fs]\=printf\>"hs=s+1
164 syn match skillFunction "\<[fs]\=printf("he=e-1
165 syn match skillFunction "(f\=scanf\>"hs=s+1
166 syn match skillFunction "\<f\=scanf("he=e-1
167 syn match skillFunction "(funobj\>"hs=s+1
168 syn match skillFunction "\<funobj("he=e-1
169 syn match skillFunction "(gc\>"hs=s+1
170 syn match skillFunction "\<gc("he=e-1
171 syn match skillFunction "(gensym\>"hs=s+1
172 syn match skillFunction "\<gensym("he=e-1
173 syn match skillFunction "(get\(_pname\|_string\)\=\>"hs=s+1
174 syn match skillFunction "\<get\(_pname\|_string\)\=("he=e-1
175 syn match skillFunction "(getc\(har\)\=\>"hs=s+1
176 syn match skillFunction "\<getc\(har\)\=("he=e-1
177 syn match skillFunction "(getCurrentTime\>"hs=s+1
178 syn match skillFunction "\<getCurrentTime("he=e-1
179 syn match skillFunction "(getd\>"hs=s+1
180 syn match skillFunction "\<getd("he=e-1
181 syn match skillFunction "(getDirFiles\>"hs=s+1
182 syn match skillFunction "\<getDirFiles("he=e-1
183 syn match skillFunction "(getFnWriteProtect\>"hs=s+1
184 syn match skillFunction "\<getFnWriteProtect("he=e-1
185 syn match skillFunction "(getRunType\>"hs=s+1
186 syn match skillFunction "\<getRunType("he=e-1
187 syn match skillFunction "(getInstallPath\>"hs=s+1
188 syn match skillFunction "\<getInstallPath("he=e-1
189 syn match skillFunction "(getqq\=\>"hs=s+1
190 syn match skillFunction "\<getqq\=("he=e-1
191 syn match skillFunction "(gets\>"hs=s+1
192 syn match skillFunction "\<gets("he=e-1
193 syn match skillFunction "(getShellEnvVar\>"hs=s+1
194 syn match skillFunction "\<getShellEnvVar("he=e-1
195 syn match skillFunction "(getSkill\(Path\|Version\)\>"hs=s+1
196 syn match skillFunction "\<getSkill\(Path\|Version\)("he=e-1
197 syn match skillFunction "(getVarWriteProtect\>"hs=s+1
198 syn match skillFunction "\<getVarWriteProtect("he=e-1
199 syn match skillFunction "(getVersion\>"hs=s+1
200 syn match skillFunction "\<getVersion("he=e-1
201 syn match skillFunction "(getWarn\>"hs=s+1
202 syn match skillFunction "\<getWarn("he=e-1
203 syn match skillFunction "(getWorkingDir\>"hs=s+1
204 syn match skillFunction "\<getWorkingDir("he=e-1
205 syn match skillRepeat "(go\>"hs=s+1
206 syn match skillRepeat "\<go("he=e-1
207 syn match skillConditional "(if\>"hs=s+1
208 syn match skillConditional "\<if("he=e-1
209 syn keyword skillConditional then else
210 syn match skillFunction "(index\>"hs=s+1
211 syn match skillFunction "\<index("he=e-1
212 syn match skillFunction "(infile\>"hs=s+1
213 syn match skillFunction "\<infile("he=e-1
214 syn match skillFunction "(inportp\>"hs=s+1
215 syn match skillFunction "\<inportp("he=e-1
216 syn match skillFunction "(in\(Scheme\|Skill\)\>"hs=s+1
217 syn match skillFunction "\<in\(Scheme\|Skill\)("he=e-1
218 syn match skillFunction "(instring\>"hs=s+1
219 syn match skillFunction "\<instring("he=e-1
220 syn match skillFunction "(integerp\>"hs=s+1
221 syn match skillFunction "\<integerp("he=e-1
222 syn match skillFunction "(intToChar\>"hs=s+1
223 syn match skillFunction "\<intToChar("he=e-1
224 syn match skillFunction "(is\(Callable\|Dir\|Executable\|File\|FileEncrypted\|FileName\|Link\|Macro\|Writable\)\>"hs=s+1
225 syn match skillFunction "\<is\(Callable\|Dir\|Executable\|File\|FileEncrypted\|FileName\|Link\|Macro\|Writable\)("he=e-1
226 syn match skillKeywords "(n\=lambda\>"hs=s+1
227 syn match skillKeywords "\<n\=lambda("he=e-1
228 syn match skillKeywords "(last\>"hs=s+1
229 syn match skillKeywords "\<last("he=e-1
230 syn match skillFunction "(lconc\>"hs=s+1
231 syn match skillFunction "\<lconc("he=e-1
232 syn match skillFunction "(length\>"hs=s+1
233 syn match skillFunction "\<length("he=e-1
234 syn match skillKeywords "(let\>"hs=s+1
235 syn match skillKeywords "\<let("he=e-1
236 syn match skillFunction "(lineread\(string\)\=\>"hs=s+1
237 syn match skillFunction "\<lineread\(string\)\=("he=e-1
238 syn match skillKeywords "(list\>"hs=s+1
239 syn match skillKeywords "\<list("he=e-1
240 syn match skillFunction "(listp\>"hs=s+1
241 syn match skillFunction "\<listp("he=e-1
242 syn match skillFunction "(listToVector\>"hs=s+1
243 syn match skillFunction "\<listToVector("he=e-1
244 syn match skillFunction "(loadi\=\>"hs=s+1
245 syn match skillFunction "\<loadi\=("he=e-1
246 syn match skillFunction "(loadstring\>"hs=s+1
247 syn match skillFunction "\<loadstring("he=e-1
248 syn match skillFunction "(log\>"hs=s+1
249 syn match skillFunction "\<log("he=e-1
250 syn match skillFunction "(lowerCase\>"hs=s+1
251 syn match skillFunction "\<lowerCase("he=e-1
252 syn match skillFunction "(makeTable\>"hs=s+1
253 syn match skillFunction "\<makeTable("he=e-1
254 syn match skillFunction "(makeTempFileName\>"hs=s+1
255 syn match skillFunction "\<makeTempFileName("he=e-1
256 syn match skillFunction "(makeVector\>"hs=s+1
257 syn match skillFunction "\<makeVector("he=e-1
258 syn match skillFunction "(map\(c\|can\|car\|list\)\>"hs=s+1
259 syn match skillFunction "\<map\(c\|can\|car\|list\)("he=e-1
260 syn match skillFunction "(max\>"hs=s+1
261 syn match skillFunction "\<max("he=e-1
262 syn match skillFunction "(measureTime\>"hs=s+1
263 syn match skillFunction "\<measureTime("he=e-1
264 syn match skillFunction "(member\>"hs=s+1
265 syn match skillFunction "\<member("he=e-1
266 syn match skillFunction "(mem[qv]\>"hs=s+1
267 syn match skillFunction "\<mem[qv]("he=e-1
268 syn match skillFunction "(min\>"hs=s+1
269 syn match skillFunction "\<min("he=e-1
270 syn match skillFunction "(minusp\>"hs=s+1
271 syn match skillFunction "\<minusp("he=e-1
272 syn match skillFunction "(mod\(ulo\)\=\>"hs=s+1
273 syn match skillFunction "\<mod\(ulo\)\=("he=e-1
274 syn match skillKeywords "([mn]\=procedure\>"hs=s+1
275 syn match skillKeywords "\<[mn]\=procedure("he=e-1
276 syn match skillFunction "(ncon[cs]\>"hs=s+1
277 syn match skillFunction "\<ncon[cs]("he=e-1
278 syn match skillFunction "(needNCells\>"hs=s+1
279 syn match skillFunction "\<needNCells("he=e-1
280 syn match skillFunction "(negativep\>"hs=s+1
281 syn match skillFunction "\<negativep("he=e-1
282 syn match skillFunction "(neq\(ual\)\=\>"hs=s+1
283 syn match skillFunction "\<neq\(ual\)\=("he=e-1
284 syn match skillFunction "(newline\>"hs=s+1
285 syn match skillFunction "\<newline("he=e-1
286 syn match skillFunction "(nindex\>"hs=s+1
287 syn match skillFunction "\<nindex("he=e-1
288 syn match skillFunction "(not\>"hs=s+1
289 syn match skillFunction "\<not("he=e-1
290 syn match skillFunction "(nth\(cdr\|elem\)\=\>"hs=s+1
291 syn match skillFunction "\<nth\(cdr\|elem\)\=("he=e-1
292 syn match skillFunction "(null\>"hs=s+1
293 syn match skillFunction "\<null("he=e-1
294 syn match skillFunction "(numberp\>"hs=s+1
295 syn match skillFunction "\<numberp("he=e-1
296 syn match skillFunction "(numOpenFiles\>"hs=s+1
297 syn match skillFunction "\<numOpenFiles("he=e-1
298 syn match skillFunction "(oddp\>"hs=s+1
299 syn match skillFunction "\<oddp("he=e-1
300 syn match skillFunction "(onep\>"hs=s+1
301 syn match skillFunction "\<onep("he=e-1
302 syn match skillFunction "(otherp\>"hs=s+1
303 syn match skillFunction "\<otherp("he=e-1
304 syn match skillFunction "(outfile\>"hs=s+1
305 syn match skillFunction "\<outfile("he=e-1
306 syn match skillFunction "(outportp\>"hs=s+1
307 syn match skillFunction "\<outportp("he=e-1
308 syn match skillFunction "(pairp\>"hs=s+1
309 syn match skillFunction "\<pairp("he=e-1
310 syn match skillFunction "(parseString\>"hs=s+1
311 syn match skillFunction "\<parseString("he=e-1
312 syn match skillFunction "(plist\>"hs=s+1
313 syn match skillFunction "\<plist("he=e-1
314 syn match skillFunction "(plusp\>"hs=s+1
315 syn match skillFunction "\<plusp("he=e-1
316 syn match skillFunction "(portp\>"hs=s+1
317 syn match skillFunction "\<portp("he=e-1
318 syn match skillFunction "(p\=print\>"hs=s+1
319 syn match skillFunction "\<p\=print("he=e-1
320 syn match skillFunction "(prependInstallPath\>"hs=s+1
321 syn match skillFunction "\<prependInstallPath("he=e-1
322 syn match skillFunction "(printl\(ev\|n\)\>"hs=s+1
323 syn match skillFunction "\<printl\(ev\|n\)("he=e-1
324 syn match skillFunction "(procedurep\>"hs=s+1
325 syn match skillFunction "\<procedurep("he=e-1
326 syn match skillKeywords "(prog[12n]\=\>"hs=s+1
327 syn match skillKeywords "\<prog[12n]\=("he=e-1
328 syn match skillFunction "(putd\>"hs=s+1
329 syn match skillFunction "\<putd("he=e-1
330 syn match skillFunction "(putpropq\{,2}\>"hs=s+1
331 syn match skillFunction "\<putpropq\{,2}("he=e-1
332 syn match skillFunction "(random\>"hs=s+1
333 syn match skillFunction "\<random("he=e-1
334 syn match skillFunction "(read\>"hs=s+1
335 syn match skillFunction "\<read("he=e-1
336 syn match skillFunction "(readString\>"hs=s+1
337 syn match skillFunction "\<readString("he=e-1
338 syn match skillFunction "(readTable\>"hs=s+1
339 syn match skillFunction "\<readTable("he=e-1
340 syn match skillFunction "(realp\>"hs=s+1
341 syn match skillFunction "\<realp("he=e-1
342 syn match skillFunction "(regExit\(After\|Before\)\>"hs=s+1
343 syn match skillFunction "\<regExit\(After\|Before\)("he=e-1
344 syn match skillFunction "(remainder\>"hs=s+1
345 syn match skillFunction "\<remainder("he=e-1
346 syn match skillFunction "(remdq\=\>"hs=s+1
347 syn match skillFunction "\<remdq\=("he=e-1
348 syn match skillFunction "(remExitProc\>"hs=s+1
349 syn match skillFunction "\<remExitProc("he=e-1
350 syn match skillFunction "(remove\>"hs=s+1
351 syn match skillFunction "\<remove("he=e-1
352 syn match skillFunction "(remprop\>"hs=s+1
353 syn match skillFunction "\<remprop("he=e-1
354 syn match skillFunction "(remq\>"hs=s+1
355 syn match skillFunction "\<remq("he=e-1
356 syn match skillKeywords "(return\>"hs=s+1
357 syn match skillKeywords "\<return("he=e-1
358 syn match skillFunction "(reverse\>"hs=s+1
359 syn match skillFunction "\<reverse("he=e-1
360 syn match skillFunction "(rexCompile\>"hs=s+1
361 syn match skillFunction "\<rexCompile("he=e-1
362 syn match skillFunction "(rexExecute\>"hs=s+1
363 syn match skillFunction "\<rexExecute("he=e-1
364 syn match skillFunction "(rexMagic\>"hs=s+1
365 syn match skillFunction "\<rexMagic("he=e-1
366 syn match skillFunction "(rexMatchAssocList\>"hs=s+1
367 syn match skillFunction "\<rexMatchAssocList("he=e-1
368 syn match skillFunction "(rexMatchList\>"hs=s+1
369 syn match skillFunction "\<rexMatchList("he=e-1
370 syn match skillFunction "(rexMatchp\>"hs=s+1
371 syn match skillFunction "\<rexMatchp("he=e-1
372 syn match skillFunction "(rexReplace\>"hs=s+1
373 syn match skillFunction "\<rexReplace("he=e-1
374 syn match skillFunction "(rexSubstitute\>"hs=s+1
375 syn match skillFunction "\<rexSubstitute("he=e-1
376 syn match skillFunction "(rindex\>"hs=s+1
377 syn match skillFunction "\<rindex("he=e-1
378 syn match skillFunction "(round\>"hs=s+1
379 syn match skillFunction "\<round("he=e-1
380 syn match skillFunction "(rplac[ad]\>"hs=s+1
381 syn match skillFunction "\<rplac[ad]("he=e-1
382 syn match skillFunction "(schemeTopLevelEnv\>"hs=s+1
383 syn match skillFunction "\<schemeTopLevelEnv("he=e-1
384 syn match skillFunction "(set\>"hs=s+1
385 syn match skillFunction "\<set("he=e-1
386 syn match skillFunction "(setarray\>"hs=s+1
387 syn match skillFunction "\<setarray("he=e-1
388 syn match skillFunction "(setc[ad]r\>"hs=s+1
389 syn match skillFunction "\<setc[ad]r("he=e-1
390 syn match skillFunction "(setFnWriteProtect\>"hs=s+1
391 syn match skillFunction "\<setFnWriteProtect("he=e-1
392 syn match skillFunction "(setof\>"hs=s+1
393 syn match skillFunction "\<setof("he=e-1
394 syn match skillFunction "(setplist\>"hs=s+1
395 syn match skillFunction "\<setplist("he=e-1
396 syn match skillFunction "(setq\>"hs=s+1
397 syn match skillFunction "\<setq("he=e-1
398 syn match skillFunction "(setShellEnvVar\>"hs=s+1
399 syn match skillFunction "\<setShellEnvVar("he=e-1
400 syn match skillFunction "(setSkillPath\>"hs=s+1
401 syn match skillFunction "\<setSkillPath("he=e-1
402 syn match skillFunction "(setVarWriteProtect\>"hs=s+1
403 syn match skillFunction "\<setVarWriteProtect("he=e-1
404 syn match skillFunction "(sh\(ell\)\=\>"hs=s+1
405 syn match skillFunction "\<sh\(ell\)\=("he=e-1
406 syn match skillFunction "(simplifyFilename\>"hs=s+1
407 syn match skillFunction "\<simplifyFilename("he=e-1
408 syn match skillFunction "(sort\(car\)\=\>"hs=s+1
409 syn match skillFunction "\<sort\(car\)\=("he=e-1
410 syn match skillFunction "(sqrt\>"hs=s+1
411 syn match skillFunction "\<sqrt("he=e-1
412 syn match skillFunction "(srandom\>"hs=s+1
413 syn match skillFunction "\<srandom("he=e-1
414 syn match skillFunction "(sstatus\>"hs=s+1
415 syn match skillFunction "\<sstatus("he=e-1
416 syn match skillFunction "(strn\=cat\>"hs=s+1
417 syn match skillFunction "\<strn\=cat("he=e-1
418 syn match skillFunction "(strn\=cmp\>"hs=s+1
419 syn match skillFunction "\<strn\=cmp("he=e-1
420 syn match skillFunction "(stringp\>"hs=s+1
421 syn match skillFunction "\<stringp("he=e-1
422 syn match skillFunction "(stringTo\(Function\|Symbol\|Time\)\>"hs=s+1
423 syn match skillFunction "\<stringTo\(Function\|Symbol\|Time\)("he=e-1
424 syn match skillFunction "(strlen\>"hs=s+1
425 syn match skillFunction "\<strlen("he=e-1
426 syn match skillFunction "(sub1\>"hs=s+1
427 syn match skillFunction "\<sub1("he=e-1
428 syn match skillFunction "(subst\>"hs=s+1
429 syn match skillFunction "\<subst("he=e-1
430 syn match skillFunction "(substring\>"hs=s+1
431 syn match skillFunction "\<substring("he=e-1
432 syn match skillFunction "(sxtd\>"hs=s+1
433 syn match skillFunction "\<sxtd("he=e-1
434 syn match skillFunction "(symbolp\>"hs=s+1
435 syn match skillFunction "\<symbolp("he=e-1
436 syn match skillFunction "(symbolToString\>"hs=s+1
437 syn match skillFunction "\<symbolToString("he=e-1
438 syn match skillFunction "(symeval\>"hs=s+1
439 syn match skillFunction "\<symeval("he=e-1
440 syn match skillFunction "(symstrp\>"hs=s+1
441 syn match skillFunction "\<symstrp("he=e-1
442 syn match skillFunction "(system\>"hs=s+1
443 syn match skillFunction "\<system("he=e-1
444 syn match skillFunction "(tablep\>"hs=s+1
445 syn match skillFunction "\<tablep("he=e-1
446 syn match skillFunction "(tableToList\>"hs=s+1
447 syn match skillFunction "\<tableToList("he=e-1
448 syn match skillFunction "(tailp\>"hs=s+1
449 syn match skillFunction "\<tailp("he=e-1
450 syn match skillFunction "(tconc\>"hs=s+1
451 syn match skillFunction "\<tconc("he=e-1
452 syn match skillFunction "(timeToString\>"hs=s+1
453 syn match skillFunction "\<timeToString("he=e-1
454 syn match skillFunction "(timeToTm\>"hs=s+1
455 syn match skillFunction "\<timeToTm("he=e-1
456 syn match skillFunction "(tmToTime\>"hs=s+1
457 syn match skillFunction "\<tmToTime("he=e-1
458 syn match skillFunction "(truncate\>"hs=s+1
459 syn match skillFunction "\<truncate("he=e-1
460 syn match skillFunction "(typep\=\>"hs=s+1
461 syn match skillFunction "\<typep\=("he=e-1
462 syn match skillFunction "(unalias\>"hs=s+1
463 syn match skillFunction "\<unalias("he=e-1
464 syn match skillConditional "(unless\>"hs=s+1
465 syn match skillConditional "\<unless("he=e-1
466 syn match skillFunction "(upperCase\>"hs=s+1
467 syn match skillFunction "\<upperCase("he=e-1
468 syn match skillFunction "(vector\(ToList\)\=\>"hs=s+1
469 syn match skillFunction "\<vector\(ToList\)\=("he=e-1
470 syn match skillFunction "(warn\>"hs=s+1
471 syn match skillFunction "\<warn("he=e-1
472 syn match skillConditional "(when\>"hs=s+1
473 syn match skillConditional "\<when("he=e-1
474 syn match skillRepeat "(while\>"hs=s+1
475 syn match skillRepeat "\<while("he=e-1
476 syn match skillFunction "(write\>"hs=s+1
477 syn match skillFunction "\<write("he=e-1
478 syn match skillFunction "(writeTable\>"hs=s+1
479 syn match skillFunction "\<writeTable("he=e-1
480 syn match skillFunction "(xcons\>"hs=s+1
481 syn match skillFunction "\<xcons("he=e-1
482 syn match skillFunction "(zerop\>"hs=s+1
483 syn match skillFunction "\<zerop("he=e-1
484 syn match skillFunction "(zxtd\>"hs=s+1
485 syn match skillFunction "\<zxtd("he=e-1
487 " DFII procedural interface routines
490 syn match skillcdfFunctions "(cdf\u\a\+\>"hs=s+1
491 syn match skillcdfFunctions "\<cdf\u\a\+("he=e-1
492 " graphic editor functions
493 syn match skillgeFunctions "(ge\u\a\+\>"hs=s+1
494 syn match skillgeFunctions "\<ge\u\a\+("he=e-1
495 " human interface functions
496 syn match skillhiFunctions "(hi\u\a\+\>"hs=s+1
497 syn match skillhiFunctions "\<hi\u\a\+("he=e-1
498 " layout editor functions
499 syn match skillleFunctions "(le\u\a\+\>"hs=s+1
500 syn match skillleFunctions "\<le\u\a\+("he=e-1
501 " database|design editor|design flow functions
502 syn match skilldbefFunctions "(d[bef]\u\a\+\>"hs=s+1
503 syn match skilldbefFunctions "\<d[bef]\u\a\+("he=e-1
504 " design management & design data services functions
505 syn match skillddFunctions "(dd[s]\=\u\a\+\>"hs=s+1
506 syn match skillddFunctions "\<dd[s]\=\u\a\+("he=e-1
507 " parameterized cell functions
508 syn match skillpcFunctions "(pc\u\a\+\>"hs=s+1
509 syn match skillpcFunctions "\<pc\u\a\+("he=e-1
510 " tech file functions
511 syn match skilltechFunctions "(\(tech\|tc\)\u\a\+\>"hs=s+1
512 syn match skilltechFunctions "\<\(tech\|tc\)\u\a\+("he=e-1
515 syn region skillString start=+"+ skip=+\\"+ end=+"+
517 syn keyword skillTodo contained TODO FIXME XXX
518 syn keyword skillNote contained NOTE IMPORTANT
520 " comments are either C-style or begin with a semicolon
521 syn region skillComment start="/\*" end="\*/" contains=skillTodo,skillNote
522 syn match skillComment ";.*" contains=skillTodo,skillNote
523 syn match skillCommentError "\*/"
525 syn sync ccomment skillComment minlines=10
527 " Define the default highlighting.
528 " For version 5.7 and earlier: only when not done already
529 " For version 5.8 and later: only when an item doesn't have highlighting yet
530 if version >= 508 || !exists("did_skill_syntax_inits")
532 let did_skill_syntax_inits = 1
533 command -nargs=+ HiLink hi link <args>
535 command -nargs=+ HiLink hi def link <args>
538 HiLink skillcdfFunctions Function
539 HiLink skillgeFunctions Function
540 HiLink skillhiFunctions Function
541 HiLink skillleFunctions Function
542 HiLink skilldbefFunctions Function
543 HiLink skillddFunctions Function
544 HiLink skillpcFunctions Function
545 HiLink skilltechFunctions Function
546 HiLink skillConstants Constant
547 HiLink skillFunction Function
548 HiLink skillKeywords Statement
549 HiLink skillConditional Conditional
550 HiLink skillRepeat Repeat
551 HiLink skillString String
552 HiLink skillTodo Todo
553 HiLink skillNote Todo
554 HiLink skillComment Comment
555 HiLink skillCommentError Error
560 let b:current_syntax = "skill"