blob: 02fc46dcbb70303b7107baf2ba44bbe3d6c989d9 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: SKILL for Diva
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. These items are for Diva verification rules decks.
10
11" Don't remove any old syntax stuff hanging around! We need stuff
12" from skill.vim.
13if !exists("did_skill_syntax_inits")
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020014 runtime! syntax/skill.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000015endif
16
17syn keyword divaDRCKeywords area enc notch ovlp sep width
18syn keyword divaDRCKeywords app diffNet length lengtha lengthb
19syn keyword divaDRCKeywords notParallel only_perp opposite parallel
20syn keyword divaDRCKeywords sameNet shielded with_perp
21syn keyword divaDRCKeywords edge edgea edgeb fig figa figb
22syn keyword divaDRCKeywords normalGrow squareGrow message raw
23syn keyword divaMeasKeywords perimeter length bends_all bends_full
24syn keyword divaMeasKeywords bends_part corners_all corners_full
25syn keyword divaMeasKeywords corners_part angles_all angles_full
26syn keyword divaMeasKeywords angles_part fig_count butting coincident
27syn keyword divaMeasKeywords over not_over outside inside enclosing
28syn keyword divaMeasKeywords figure one_net two_net three_net grounded
29syn keyword divaMeasKeywords polarized limit keep ignore
30syn match divaCtrlFunctions "(ivIf\>"hs=s+1
31syn match divaCtrlFunctions "\<ivIf("he=e-1
32syn match divaCtrlFunctions "(switch\>"hs=s+1
33syn match divaCtrlFunctions "\<switch("he=e-1
34syn match divaCtrlFunctions "(and\>"hs=s+1
35syn match divaCtrlFunctions "\<and("he=e-1
36syn match divaCtrlFunctions "(or\>"hs=s+1
37syn match divaCtrlFunctions "\<or("he=e-1
38syn match divaCtrlFunctions "(null\>"hs=s+1
39syn match divaCtrlFunctions "\<null("he=e-1
40syn match divaExtFunctions "(save\(Interconnect\|Property\|Parameter\|Recognition\)\>"hs=s+1
41syn match divaExtFunctions "\<save\(Interconnect\|Property\|Parameter\|Recognition\)("he=e-1
42syn match divaExtFunctions "(\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic\>"hs=s+1
43syn match divaExtFunctions "\<\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic("he=e-1
44syn match divaExtFunctions "(\(calculate\|measure\)Parameter\>"hs=s+1
45syn match divaExtFunctions "\<\(calculate\|measure\)Parameter("he=e-1
46syn match divaExtFunctions "(measure\(Resistance\|Fringe\)\>"hs=s+1
47syn match divaExtFunctions "\<measure\(Resistance\|Fringe\)("he=e-1
48syn match divaExtFunctions "(extract\(Device\|MOS\)\>"hs=s+1
49syn match divaExtFunctions "\<extract\(Device\|MOS\)("he=e-1
50syn match divaDRCFunctions "(checkAllLayers\>"hs=s+1
51syn match divaDRCFunctions "\<checkAllLayers("he=e-1
52syn match divaDRCFunctions "(checkLayer\>"hs=s+1
53syn match divaDRCFunctions "\<checkLayer("he=e-1
54syn match divaDRCFunctions "(drc\>"hs=s+1
55syn match divaDRCFunctions "\<drc("he=e-1
56syn match divaDRCFunctions "(drcAntenna\>"hs=s+1
57syn match divaDRCFunctions "\<drcAntenna("he=e-1
58syn match divaFunctions "(\(drcExtract\|lvs\)Rules\>"hs=s+1
59syn match divaFunctions "\<\(drcExtract\|lvs\)Rules("he=e-1
60syn match divaLayerFunctions "(saveDerived\>"hs=s+1
61syn match divaLayerFunctions "\<saveDerived("he=e-1
62syn match divaLayerFunctions "(copyGraphics\>"hs=s+1
63syn match divaLayerFunctions "\<copyGraphics("he=e-1
64syn match divaChkFunctions "(dubiousData\>"hs=s+1
65syn match divaChkFunctions "\<dubiousData("he=e-1
66syn match divaChkFunctions "(offGrid\>"hs=s+1
67syn match divaChkFunctions "\<offGrid("he=e-1
68syn match divaLVSFunctions "(compareDeviceProperty\>"hs=s+1
69syn match divaLVSFunctions "\<compareDeviceProperty("he=e-1
70syn match divaLVSFunctions "(ignoreTerminal\>"hs=s+1
71syn match divaLVSFunctions "\<ignoreTerminal("he=e-1
72syn match divaLVSFunctions "(parameterMatchType\>"hs=s+1
73syn match divaLVSFunctions "\<parameterMatchType("he=e-1
74syn match divaLVSFunctions "(\(permute\|prune\|remove\)Device\>"hs=s+1
75syn match divaLVSFunctions "\<\(permute\|prune\|remove\)Device("he=e-1
76syn match divaGeomFunctions "(geom\u\a\+\(45\|90\)\=\>"hs=s+1
77syn match divaGeomFunctions "\<geom\u\a\+\(45\|90\)\=("he=e-1
78
79" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020080" Only when an item doesn't have highlighting yet
81command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000082
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020083HiLink divaDRCKeywords Statement
84HiLink divaMeasKeywords Statement
85HiLink divaCtrlFunctions Conditional
86HiLink divaExtFunctions Function
87HiLink divaDRCFunctions Function
88HiLink divaFunctions Function
89HiLink divaLayerFunctions Function
90HiLink divaChkFunctions Function
91HiLink divaLVSFunctions Function
92HiLink divaGeomFunctions Function
Bram Moolenaar071d4272004-06-13 20:20:40 +000093
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020094delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000095
96let b:current_syntax = "diva"
97
98" vim:ts=4