xref: /vim-8.2.3635/runtime/syntax/dracula.vim (revision cb03397a)
1" Vim syntax file
2" Language:	Dracula
3" Maintainer:	Scott Bordelon <[email protected]>
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
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13if version < 600
14  syntax clear
15elseif exists("b:current_syntax")
16  finish
17endif
18
19" Ignore case
20syn case ignore
21
22" A bunch of useful Dracula keywords
23
24"syn match   draculaIdentifier
25
26syn keyword draculaStatement   indisk primary outdisk printfile system
27syn keyword draculaStatement   mode scale resolution listerror keepdata
28syn keyword draculaStatement   datatype by lt gt output label range touch
29syn keyword draculaStatement   inside outside within overlap outlib
30syn keyword draculaStatement   schematic model unit parset
31syn match   draculaStatement   "flag-\(non45\|acuteangle\|offgrid\)"
32syn match   draculaStatement   "text-pri-only"
33syn match   draculaStatement   "[=&]"
34syn match   draculaStatement   "\[[^,]*\]"
35syn match   draculastatement   "^ *\(sel\|width\|ext\|enc\|area\|shrink\|grow\|length\)"
36syn match   draculastatement   "^ *\(or\|not\|and\|select\|size\|connect\|sconnect\|int\)"
37syn match   draculastatement   "^ *\(softchk\|stamp\|element\|parasitic cap\|attribute cap\)"
38syn match   draculastatement   "^ *\(flagnon45\|lextract\|equation\|lpeselect\|lpechk\|attach\)"
39syn match   draculaStatement   "\(temporary\|connect\)-layer"
40syn match   draculaStatement   "program-dir"
41syn match   draculaStatement   "status-command"
42syn match   draculaStatement   "batch-queue"
43syn match   draculaStatement   "cnames-csen"
44syn match   draculaStatement   "filter-lay-opt"
45syn match   draculaStatement   "filter-sch-opt"
46syn match   draculaStatement   "power-node"
47syn match   draculaStatement   "ground-node"
48syn match   draculaStatement   "subckt-name"
49
50syn match   draculaType		"\*description"
51syn match   draculaType		"\*input-layer"
52syn match   draculaType		"\*operation"
53syn match   draculaType		"\*end"
54
55syn match   draculaComment ";.*"
56
57syn match   draculaPreProc "^#.*"
58
59"Modify the following as needed.  The trade-off is performance versus
60"functionality.
61syn sync lines=50
62
63" Define the default highlighting.
64" For version 5.7 and earlier: only when not done already
65" For version 5.8 and later: only when an item doesn't have highlighting yet
66if version >= 508 || !exists("did_dracula_syn_inits")
67  if version < 508
68    let did_dracula_syn_inits = 1
69    command -nargs=+ HiLink hi link <args>
70  else
71    command -nargs=+ HiLink hi def link <args>
72  endif
73
74  HiLink draculaIdentifier Identifier
75  HiLink draculaStatement  Statement
76  HiLink draculaType       Type
77  HiLink draculaComment    Comment
78  HiLink draculaPreProc    PreProc
79
80  delcommand HiLink
81endif
82
83let b:current_syntax = "dracula"
84
85" vim: ts=8
86