diff runtime/syntax/psl.vim @ 24468:9f41bfdbc6fc

Update runtime files. Commit: https://github.com/vim/vim/commit/56994d215815139207f3c5ce02a1720e44e93c09 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Apr 17 16:31:09 2021 +0200 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sat, 17 Apr 2021 16:45:04 +0200
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/psl.vim
@@ -0,0 +1,83 @@
+" 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