mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			84 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			84 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	Property Specification Language (PSL) | ||
|  | " Maintainer:	Daniel Kho <daniel.kho@logik.haus> | ||
|  | " Last Changed:	2021 Apr 17 by Daniel Kho | ||
|  | 
 | ||
|  | " quit when a syntax file was already loaded | ||
|  | if exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " Read in VHDL syntax files | ||
|  | runtime! syntax/vhdl.vim | ||
|  | unlet b:current_syntax | ||
|  | 
 | ||
|  | let s:cpo_save = &cpo | ||
|  | set cpo&vim | ||
|  | 
 | ||
|  | " case is not significant | ||
|  | syn case	ignore | ||
|  | 
 | ||
|  | " Add ! character to keyword recognition. | ||
|  | setlocal iskeyword+=33 | ||
|  | 
 | ||
|  | " PSL keywords | ||
|  | syn keyword	pslOperator	A AF AG AX | ||
|  | syn keyword	pslOperator	E EF EG EX | ||
|  | syn keyword	pslOperator	F G U W X X! | ||
|  | syn keyword	pslOperator	abort always assert assume async_abort | ||
|  | syn keyword	pslOperator	before before! before!_ before_ bit bitvector boolean | ||
|  | syn keyword	pslOperator	clock const countones cover | ||
|  | syn keyword	pslOperator	default | ||
|  | syn keyword	pslOperator	ended eventually! | ||
|  | syn keyword	pslOperator	fairness fell for forall | ||
|  | syn keyword	pslOperator	hdltype | ||
|  | syn keyword	pslOperator	in inf inherit isunknown | ||
|  | syn keyword	pslOperator	mutable | ||
|  | syn keyword	pslOperator	never next next! next_a next_a! next_e next_e! next_event next_event! next_event_a next_event_a! next_event_e next_event_e! nondet nondet_vector numeric | ||
|  | syn keyword	pslOperator	onehot onehot0 | ||
|  | syn keyword	pslOperator	property prev | ||
|  | syn keyword	pslOperator	report restrict restrict! rose | ||
|  | syn keyword	pslOperator	sequence stable string strong sync_abort | ||
|  | syn keyword	pslOperator	union until until! until!_ until_ | ||
|  | syn keyword	pslOperator	vmode vpkg vprop vunit | ||
|  | syn keyword	pslOperator	within | ||
|  | "" Common keywords with VHDL | ||
|  | "syn keyword	pslOperator	and is not or to | ||
|  | 
 | ||
|  | " PSL operators | ||
|  | syn match	pslOperator	"=>\||=>" | ||
|  | syn match	pslOperator	"<-\|->" | ||
|  | syn match	pslOperator	"@" | ||
|  | 
 | ||
|  | 
 | ||
|  | "Modify the following as needed.  The trade-off is performance versus functionality. | ||
|  | syn sync	minlines=600 | ||
|  | 
 | ||
|  | " Define the default highlighting. | ||
|  | " Only when an item doesn't have highlighting yet | ||
|  | 
 | ||
|  | hi def link pslSpecial	    Special | ||
|  | hi def link pslStatement    Statement | ||
|  | hi def link pslCharacter    Character | ||
|  | hi def link pslString	    String | ||
|  | hi def link pslVector	    Number | ||
|  | hi def link pslBoolean	    Number | ||
|  | hi def link pslTodo	    Todo | ||
|  | hi def link pslFixme	    Fixme | ||
|  | hi def link pslComment	    Comment | ||
|  | hi def link pslNumber	    Number | ||
|  | hi def link pslTime	    Number | ||
|  | hi def link pslType	    Type | ||
|  | hi def link pslOperator	    Operator | ||
|  | hi def link pslError	    Error | ||
|  | hi def link pslAttribute    Special | ||
|  | hi def link pslPreProc	    PreProc | ||
|  | 
 | ||
|  | 
 | ||
|  | let b:current_syntax = "psl" | ||
|  | 
 | ||
|  | let &cpo = s:cpo_save | ||
|  | unlet s:cpo_save | ||
|  | 
 | ||
|  | " vim: ts=8 |