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