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" quit when a syntax file was already loaded 12if exists("b:current_syntax") 13 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. 61" Only when an item doesn't have highlighting yet 62 63hi def link draculaIdentifier Identifier 64hi def link draculaStatement Statement 65hi def link draculaType Type 66hi def link draculaComment Comment 67hi def link draculaPreProc PreProc 68 69 70let b:current_syntax = "dracula" 71 72" vim: ts=8 73