xref: /vim-8.2.3635/runtime/syntax/psl.vim (revision 56994d21)
1" Vim syntax file
2" Language:	Property Specification Language (PSL)
3" Maintainer:	Daniel Kho <[email protected]>
4" Last Changed:	2021 Apr 17 by Daniel Kho
5
6" quit when a syntax file was already loaded
7if exists("b:current_syntax")
8  finish
9endif
10
11" Read in VHDL syntax files
12runtime! syntax/vhdl.vim
13unlet b:current_syntax
14
15let s:cpo_save = &cpo
16set cpo&vim
17
18" case is not significant
19syn case	ignore
20
21" Add ! character to keyword recognition.
22setlocal iskeyword+=33
23
24" PSL keywords
25syn keyword	pslOperator	A AF AG AX
26syn keyword	pslOperator	E EF EG EX
27syn keyword	pslOperator	F G U W X X!
28syn keyword	pslOperator	abort always assert assume async_abort
29syn keyword	pslOperator	before before! before!_ before_ bit bitvector boolean
30syn keyword	pslOperator	clock const countones cover
31syn keyword	pslOperator	default
32syn keyword	pslOperator	ended eventually!
33syn keyword	pslOperator	fairness fell for forall
34syn keyword	pslOperator	hdltype
35syn keyword	pslOperator	in inf inherit isunknown
36syn keyword	pslOperator	mutable
37syn 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
38syn keyword	pslOperator	onehot onehot0
39syn keyword	pslOperator	property prev
40syn keyword	pslOperator	report restrict restrict! rose
41syn keyword	pslOperator	sequence stable string strong sync_abort
42syn keyword	pslOperator	union until until! until!_ until_
43syn keyword	pslOperator	vmode vpkg vprop vunit
44syn keyword	pslOperator	within
45"" Common keywords with VHDL
46"syn keyword	pslOperator	and is not or to
47
48" PSL operators
49syn match	pslOperator	"=>\||=>"
50syn match	pslOperator	"<-\|->"
51syn match	pslOperator	"@"
52
53
54"Modify the following as needed.  The trade-off is performance versus functionality.
55syn sync	minlines=600
56
57" Define the default highlighting.
58" Only when an item doesn't have highlighting yet
59
60hi def link pslSpecial	    Special
61hi def link pslStatement    Statement
62hi def link pslCharacter    Character
63hi def link pslString	    String
64hi def link pslVector	    Number
65hi def link pslBoolean	    Number
66hi def link pslTodo	    Todo
67hi def link pslFixme	    Fixme
68hi def link pslComment	    Comment
69hi def link pslNumber	    Number
70hi def link pslTime	    Number
71hi def link pslType	    Type
72hi def link pslOperator	    Operator
73hi def link pslError	    Error
74hi def link pslAttribute    Special
75hi def link pslPreProc	    PreProc
76
77
78let b:current_syntax = "psl"
79
80let &cpo = s:cpo_save
81unlet s:cpo_save
82
83" vim: ts=8
84