mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			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 |