mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			81 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			81 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	CUPL simulation | ||
|  | " Maintainer:	John Cook <john.cook@kla-tencor.com> | ||
|  | " Last Change:	2001 Apr 25 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " Read the CUPL syntax to start with | ||
|  | if version < 600 | ||
|  |   source <sfile>:p:h/cupl.vim | ||
|  | else | ||
|  |   runtime! syntax/cupl.vim | ||
|  |   unlet b:current_syntax | ||
|  | endif | ||
|  | 
 | ||
|  | " omit definition-specific stuff | ||
|  | syn clear cuplStatement | ||
|  | syn clear cuplFunction | ||
|  | syn clear cuplLogicalOperator | ||
|  | syn clear cuplArithmeticOperator | ||
|  | syn clear cuplAssignmentOperator | ||
|  | syn clear cuplEqualityOperator | ||
|  | syn clear cuplTruthTableOperator | ||
|  | syn clear cuplExtension | ||
|  | 
 | ||
|  | " simulation order statement | ||
|  | syn match  cuplsimOrder "order:" nextgroup=cuplsimOrderSpec skipempty | ||
|  | syn region cuplsimOrderSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimOrderFormat,cuplBitVector,cuplSpecialChar,cuplLogicalOperator,cuplCommaOperator contained | ||
|  | 
 | ||
|  | " simulation base statement | ||
|  | syn match   cuplsimBase "base:" nextgroup=cuplsimBaseSpec skipempty | ||
|  | syn region  cuplsimBaseSpec start="." end=";"me=e-1 contains=cuplComment,cuplsimBaseType contained | ||
|  | syn keyword cuplsimBaseType octal decimal hex contained | ||
|  | 
 | ||
|  | " simulation vectors statement | ||
|  | syn match cuplsimVectors "vectors:" | ||
|  | 
 | ||
|  | " simulator format control | ||
|  | syn match cuplsimOrderFormat "%\d\+\>" contained | ||
|  | 
 | ||
|  | " simulator control | ||
|  | syn match cuplsimStimulus "[10ckpx]\+" | ||
|  | syn match cuplsimStimulus +'\(\x\|x\)\+'+ | ||
|  | syn match cuplsimOutput "[lhznx*]\+" | ||
|  | syn match cuplsimOutput +"\x\+"+ | ||
|  | 
 | ||
|  | syn sync minlines=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_cuplsim_syn_inits") | ||
|  |   if version < 508 | ||
|  |     let did_cuplsim_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   " append to the highlighting links in cupl.vim | ||
|  |   " The default highlighting. | ||
|  |   HiLink cuplsimOrder		cuplStatement | ||
|  |   HiLink cuplsimBase		cuplStatement | ||
|  |   HiLink cuplsimBaseType	cuplStatement | ||
|  |   HiLink cuplsimVectors		cuplStatement | ||
|  |   HiLink cuplsimStimulus	cuplNumber | ||
|  |   HiLink cuplsimOutput		cuplNumber | ||
|  |   HiLink cuplsimOrderFormat	cuplNumber | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "cuplsim" | ||
|  | " vim:ts=8 |