123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- " 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
|