forked from aniani/vim
		
	
		
			
				
	
	
		
			111 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:		SKILL for Diva
 | |
| " Maintainer:	Toby Schaffer <jtschaff@eos.ncsu.edu>
 | |
| " 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")
 | |
|   if version < 600
 | |
| 	so <sfile>:p:h/skill.vim
 | |
|   else
 | |
|     runtime! syntax/skill.vim
 | |
|   endif
 | |
| 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		"\<ivIf("he=e-1
 | |
| syn match divaCtrlFunctions		"(switch\>"hs=s+1
 | |
| syn match divaCtrlFunctions		"\<switch("he=e-1
 | |
| syn match divaCtrlFunctions		"(and\>"hs=s+1
 | |
| syn match divaCtrlFunctions		"\<and("he=e-1
 | |
| syn match divaCtrlFunctions		"(or\>"hs=s+1
 | |
| syn match divaCtrlFunctions		"\<or("he=e-1
 | |
| syn match divaCtrlFunctions		"(null\>"hs=s+1
 | |
| syn match divaCtrlFunctions		"\<null("he=e-1
 | |
| syn match divaExtFunctions		"(save\(Interconnect\|Property\|Parameter\|Recognition\)\>"hs=s+1
 | |
| syn match divaExtFunctions		"\<save\(Interconnect\|Property\|Parameter\|Recognition\)("he=e-1
 | |
| syn match divaExtFunctions		"(\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic\>"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		"\<measure\(Resistance\|Fringe\)("he=e-1
 | |
| syn match divaExtFunctions		"(extract\(Device\|MOS\)\>"hs=s+1
 | |
| syn match divaExtFunctions		"\<extract\(Device\|MOS\)("he=e-1
 | |
| syn match divaDRCFunctions		"(checkAllLayers\>"hs=s+1
 | |
| syn match divaDRCFunctions		"\<checkAllLayers("he=e-1
 | |
| syn match divaDRCFunctions		"(checkLayer\>"hs=s+1
 | |
| syn match divaDRCFunctions		"\<checkLayer("he=e-1
 | |
| syn match divaDRCFunctions		"(drc\>"hs=s+1
 | |
| syn match divaDRCFunctions		"\<drc("he=e-1
 | |
| syn match divaDRCFunctions		"(drcAntenna\>"hs=s+1
 | |
| syn match divaDRCFunctions		"\<drcAntenna("he=e-1
 | |
| syn match divaFunctions			"(\(drcExtract\|lvs\)Rules\>"hs=s+1
 | |
| syn match divaFunctions			"\<\(drcExtract\|lvs\)Rules("he=e-1
 | |
| syn match divaLayerFunctions	"(saveDerived\>"hs=s+1
 | |
| syn match divaLayerFunctions	"\<saveDerived("he=e-1
 | |
| syn match divaLayerFunctions	"(copyGraphics\>"hs=s+1
 | |
| syn match divaLayerFunctions	"\<copyGraphics("he=e-1
 | |
| syn match divaChkFunctions		"(dubiousData\>"hs=s+1
 | |
| syn match divaChkFunctions		"\<dubiousData("he=e-1
 | |
| syn match divaChkFunctions		"(offGrid\>"hs=s+1
 | |
| syn match divaChkFunctions		"\<offGrid("he=e-1
 | |
| syn match divaLVSFunctions		"(compareDeviceProperty\>"hs=s+1
 | |
| syn match divaLVSFunctions		"\<compareDeviceProperty("he=e-1
 | |
| syn match divaLVSFunctions		"(ignoreTerminal\>"hs=s+1
 | |
| syn match divaLVSFunctions		"\<ignoreTerminal("he=e-1
 | |
| syn match divaLVSFunctions		"(parameterMatchType\>"hs=s+1
 | |
| syn match divaLVSFunctions		"\<parameterMatchType("he=e-1
 | |
| syn match divaLVSFunctions		"(\(permute\|prune\|remove\)Device\>"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		"\<geom\u\a\+\(45\|90\)\=("he=e-1
 | |
| 
 | |
| " Define the default highlighting.
 | |
| " For version 5.7 and earlier: only when not done already
 | |
| " For version 5.8 and later: only when an item doesn't have highlighting yet
 | |
| if version >= 508 || !exists("did_diva_syntax_inits")
 | |
| 	if version < 508
 | |
| 		let did_diva_syntax_inits = 1
 | |
| 		command -nargs=+ HiLink hi link <args>
 | |
| 	else
 | |
| 		command -nargs=+ HiLink hi def link <args>
 | |
| 	endif
 | |
| 
 | |
| 	HiLink divaDRCKeywords		Statement
 | |
| 	HiLink divaMeasKeywords		Statement
 | |
| 	HiLink divaCtrlFunctions	Conditional
 | |
| 	HiLink divaExtFunctions		Function
 | |
| 	HiLink divaDRCFunctions		Function
 | |
| 	HiLink divaFunctions		Function
 | |
| 	HiLink divaLayerFunctions	Function
 | |
| 	HiLink divaChkFunctions		Function
 | |
| 	HiLink divaLVSFunctions		Function
 | |
| 	HiLink divaGeomFunctions	Function
 | |
| 
 | |
| 	delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "diva"
 | |
| 
 | |
| " vim:ts=4
 |