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