From aed8ce9da277f5ecffe968b324f242c41c3b752a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 10:50:31 +0200 Subject: Adding upstream version 2:9.0.1378. Signed-off-by: Daniel Baumann --- runtime/syntax/diva.vim | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 runtime/syntax/diva.vim (limited to 'runtime/syntax/diva.vim') diff --git a/runtime/syntax/diva.vim b/runtime/syntax/diva.vim new file mode 100644 index 0000000..127a0b4 --- /dev/null +++ b/runtime/syntax/diva.vim @@ -0,0 +1,96 @@ +" Vim syntax file +" Language: SKILL for Diva +" Maintainer: Toby Schaffer +" Last Change: 2001 May 09 +" Comments: SKILL is a Lisp-like programming language for use in EDA +" tools from Cadence Design Systems. It allows you to have +" a programming environment within the Cadence environment +" that gives you access to the complete tool set and design +" database. These items are for Diva verification rules decks. + +" Don't remove any old syntax stuff hanging around! We need stuff +" from skill.vim. +if !exists("did_skill_syntax_inits") + runtime! syntax/skill.vim +endif + +syn keyword divaDRCKeywords area enc notch ovlp sep width +syn keyword divaDRCKeywords app diffNet length lengtha lengthb +syn keyword divaDRCKeywords notParallel only_perp opposite parallel +syn keyword divaDRCKeywords sameNet shielded with_perp +syn keyword divaDRCKeywords edge edgea edgeb fig figa figb +syn keyword divaDRCKeywords normalGrow squareGrow message raw +syn keyword divaMeasKeywords perimeter length bends_all bends_full +syn keyword divaMeasKeywords bends_part corners_all corners_full +syn keyword divaMeasKeywords corners_part angles_all angles_full +syn keyword divaMeasKeywords angles_part fig_count butting coincident +syn keyword divaMeasKeywords over not_over outside inside enclosing +syn keyword divaMeasKeywords figure one_net two_net three_net grounded +syn keyword divaMeasKeywords polarized limit keep ignore +syn match divaCtrlFunctions "(ivIf\>"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaCtrlFunctions "\"hs=s+1 +syn match divaExtFunctions "\"hs=s+1 +syn match divaExtFunctions "\<\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic("he=e-1 +syn match divaExtFunctions "(\(calculate\|measure\)Parameter\>"hs=s+1 +syn match divaExtFunctions "\<\(calculate\|measure\)Parameter("he=e-1 +syn match divaExtFunctions "(measure\(Resistance\|Fringe\)\>"hs=s+1 +syn match divaExtFunctions "\"hs=s+1 +syn match divaExtFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaDRCFunctions "\"hs=s+1 +syn match divaFunctions "\<\(drcExtract\|lvs\)Rules("he=e-1 +syn match divaLayerFunctions "(saveDerived\>"hs=s+1 +syn match divaLayerFunctions "\"hs=s+1 +syn match divaLayerFunctions "\"hs=s+1 +syn match divaChkFunctions "\"hs=s+1 +syn match divaChkFunctions "\"hs=s+1 +syn match divaLVSFunctions "\"hs=s+1 +syn match divaLVSFunctions "\"hs=s+1 +syn match divaLVSFunctions "\"hs=s+1 +syn match divaLVSFunctions "\<\(permute\|prune\|remove\)Device("he=e-1 +syn match divaGeomFunctions "(geom\u\a\+\(45\|90\)\=\>"hs=s+1 +syn match divaGeomFunctions "\