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