blob: b60e4846ed5e2bd868ed2f7471d67049afa863f1 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Dracula
3" Maintainer: Scott Bordelon <slb@artisan.com>
4" Last change: Wed Apr 25 18:50:01 PDT 2001
5" Extensions: drac.*,*.drac,*.drc,*.lvs,*.lpe
6" Comment: Dracula is an industry-standard language created by CADENCE (a
7" company specializing in Electronics Design Automation), for
8" the purposes of Design Rule Checking, Layout vs. Schematic
9" verification, and Layout Parameter Extraction.
10
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020011" quit when a syntax file was already loaded
12if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000013 finish
14endif
15
16" Ignore case
17syn case ignore
18
19" A bunch of useful Dracula keywords
20
21"syn match draculaIdentifier
22
23syn keyword draculaStatement indisk primary outdisk printfile system
24syn keyword draculaStatement mode scale resolution listerror keepdata
25syn keyword draculaStatement datatype by lt gt output label range touch
26syn keyword draculaStatement inside outside within overlap outlib
27syn keyword draculaStatement schematic model unit parset
28syn match draculaStatement "flag-\(non45\|acuteangle\|offgrid\)"
29syn match draculaStatement "text-pri-only"
30syn match draculaStatement "[=&]"
31syn match draculaStatement "\[[^,]*\]"
32syn match draculastatement "^ *\(sel\|width\|ext\|enc\|area\|shrink\|grow\|length\)"
33syn match draculastatement "^ *\(or\|not\|and\|select\|size\|connect\|sconnect\|int\)"
34syn match draculastatement "^ *\(softchk\|stamp\|element\|parasitic cap\|attribute cap\)"
35syn match draculastatement "^ *\(flagnon45\|lextract\|equation\|lpeselect\|lpechk\|attach\)"
36syn match draculaStatement "\(temporary\|connect\)-layer"
37syn match draculaStatement "program-dir"
38syn match draculaStatement "status-command"
39syn match draculaStatement "batch-queue"
40syn match draculaStatement "cnames-csen"
41syn match draculaStatement "filter-lay-opt"
42syn match draculaStatement "filter-sch-opt"
43syn match draculaStatement "power-node"
44syn match draculaStatement "ground-node"
45syn match draculaStatement "subckt-name"
46
47syn match draculaType "\*description"
48syn match draculaType "\*input-layer"
49syn match draculaType "\*operation"
50syn match draculaType "\*end"
51
52syn match draculaComment ";.*"
53
54syn match draculaPreProc "^#.*"
55
56"Modify the following as needed. The trade-off is performance versus
57"functionality.
58syn sync lines=50
59
60" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020061" Only when an item doesn't have highlighting yet
62command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000063
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020064HiLink draculaIdentifier Identifier
65HiLink draculaStatement Statement
66HiLink draculaType Type
67HiLink draculaComment Comment
68HiLink draculaPreProc PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +000069
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020070delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000071
72let b:current_syntax = "dracula"
73
74" vim: ts=8