mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			131 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			131 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	CUPL | ||
|  | " 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 | ||
|  | 
 | ||
|  | " this language is oblivious to case. | ||
|  | syn case ignore | ||
|  | 
 | ||
|  | " A bunch of keywords | ||
|  | syn keyword cuplHeader name partno date revision rev designer company nextgroup=cuplHeaderContents | ||
|  | syn keyword cuplHeader assembly assy location device nextgroup=cuplHeaderContents | ||
|  | 
 | ||
|  | syn keyword cuplTodo contained TODO XXX FIXME | ||
|  | 
 | ||
|  | " cuplHeaderContents uses default highlighting except for numbers | ||
|  | syn match cuplHeaderContents ".\+;"me=e-1 contains=cuplNumber contained | ||
|  | 
 | ||
|  | " String contstants | ||
|  | syn region cuplString start=+'+ end=+'+ | ||
|  | syn region cuplString start=+"+ end=+"+ | ||
|  | 
 | ||
|  | syn keyword cuplStatement append condition | ||
|  | syn keyword cuplStatement default else | ||
|  | syn keyword cuplStatement field fld format function fuse | ||
|  | syn keyword cuplStatement group if jump loc | ||
|  | syn keyword cuplStatement macro min node out | ||
|  | syn keyword cuplStatement pin pinnode present table | ||
|  | syn keyword cuplStatement sequence sequenced sequencejk sequencers sequencet | ||
|  | 
 | ||
|  | syn keyword cuplFunction log2 log8 log16 log | ||
|  | 
 | ||
|  | " Valid integer number formats (decimal, binary, octal, hex) | ||
|  | syn match cuplNumber "\<[-+]\=[0-9]\+\>" | ||
|  | syn match cuplNumber "'d'[0-9]\+\>" | ||
|  | syn match cuplNumber "'b'[01x]\+\>" | ||
|  | syn match cuplNumber "'o'[0-7x]\+\>" | ||
|  | syn match cuplNumber "'h'[0-9a-fx]\+\>" | ||
|  | 
 | ||
|  | " operators | ||
|  | syn match cuplLogicalOperator "[!#&$]" | ||
|  | syn match cuplArithmeticOperator "[-+*/%]" | ||
|  | syn match cuplArithmeticOperator "\*\*" | ||
|  | syn match cuplAssignmentOperator ":\==" | ||
|  | syn match cuplEqualityOperator ":" | ||
|  | syn match cuplTruthTableOperator "=>" | ||
|  | 
 | ||
|  | " Signal extensions | ||
|  | syn match cuplExtension "\.[as][pr]\>" | ||
|  | syn match cuplExtension "\.oe\>" | ||
|  | syn match cuplExtension "\.oemux\>" | ||
|  | syn match cuplExtension "\.[dlsrjk]\>" | ||
|  | syn match cuplExtension "\.ck\>" | ||
|  | syn match cuplExtension "\.dq\>" | ||
|  | syn match cuplExtension "\.ckmux\>" | ||
|  | syn match cuplExtension "\.tec\>" | ||
|  | syn match cuplExtension "\.cnt\>" | ||
|  | 
 | ||
|  | syn match cuplRangeOperator "\.\." contained | ||
|  | 
 | ||
|  | " match ranges like memadr:[0000..1FFF] | ||
|  | " and highlight both the numbers and the .. operator | ||
|  | syn match cuplNumberRange "\<\x\+\.\.\x\+\>" contains=cuplRangeOperator | ||
|  | 
 | ||
|  | " match vectors of type [name3..0] (decimal numbers only) | ||
|  | " but assign them no special highlighting except for the .. operator | ||
|  | syn match cuplBitVector "\<\a\+\d\+\.\.\d\+\>" contains=cuplRangeOperator | ||
|  | 
 | ||
|  | " other special characters | ||
|  | syn match cuplSpecialChar "[\[\](){},;]" | ||
|  | 
 | ||
|  | " directives | ||
|  | " (define these after cuplOperator so $xxx overrides $) | ||
|  | syn match cuplDirective "\$msg" | ||
|  | syn match cuplDirective "\$macro" | ||
|  | syn match cuplDirective "\$mend" | ||
|  | syn match cuplDirective "\$repeat" | ||
|  | syn match cuplDirective "\$repend" | ||
|  | syn match cuplDirective "\$define" | ||
|  | syn match cuplDirective "\$include" | ||
|  | 
 | ||
|  | " multi-line comments | ||
|  | syn region cuplComment start=+/\*+ end=+\*/+ contains=cuplNumber,cuplTodo | ||
|  | 
 | ||
|  | 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_cupl_syn_inits") | ||
|  |   if version < 508 | ||
|  |     let did_cupl_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  |   " The default highlighting. | ||
|  |   HiLink cuplHeader	cuplStatement | ||
|  |   HiLink cuplLogicalOperator	 cuplOperator | ||
|  |   HiLink cuplRangeOperator	 cuplOperator | ||
|  |   HiLink cuplArithmeticOperator cuplOperator | ||
|  |   HiLink cuplAssignmentOperator cuplOperator | ||
|  |   HiLink cuplEqualityOperator	 cuplOperator | ||
|  |   HiLink cuplTruthTableOperator cuplOperator | ||
|  |   HiLink cuplOperator	cuplStatement | ||
|  |   HiLink cuplFunction	cuplStatement | ||
|  |   HiLink cuplStatement Statement | ||
|  |   HiLink cuplNumberRange cuplNumber | ||
|  |   HiLink cuplNumber	  cuplString | ||
|  |   HiLink cuplString	String | ||
|  |   HiLink cuplComment	Comment | ||
|  |   HiLink cuplExtension   cuplSpecial | ||
|  |   HiLink cuplSpecialChar cuplSpecial | ||
|  |   HiLink cuplSpecial	Special | ||
|  |   HiLink cuplDirective PreProc | ||
|  |   HiLink cuplTodo	Todo | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "cupl" | ||
|  | " vim:ts=8 |