Browse Source

syntax highlighting for Vim

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4095 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Vojtech Forejt 14 years ago
parent
commit
16215e79b0
  1. 7
      prism/etc/syntax-highlighters/vim/README
  2. 36
      prism/etc/syntax-highlighters/vim/prismmodel.vim
  3. 40
      prism/etc/syntax-highlighters/vim/prismproperty.vim

7
prism/etc/syntax-highlighters/vim/README

@ -0,0 +1,7 @@
To install, copy the files prismmodel.vim and prismproperty.vim to a directory where syntax files reside, e.g. on Unix this can be the ~/.vim/syntax/ directory
Then add the following 3 lines to your filetype.vim (on Unix, this can be in ~/.vim/filetype.vim):
au BufRead,BufNewFile *.[pns]m setfiletype prismmodel
au BufRead,BufNewFile *.smg setfiletype prismmodel
au BufRead,BufNewFile *.pctl setfiletype prismproperty

36
prism/etc/syntax-highlighters/vim/prismmodel.vim

@ -0,0 +1,36 @@
" Vim syntax file
" Language: PRISM model files
" Latest Revision: 20 October 2011
if exists("b:current_syntax")
finish
endif
syn keyword prismStructureKeyword ctmc dtmc mdp smg module endmodule formula nondeterministic probabilistic pta stochastic invariant endinvariant rewards endrewards init endinit system endsystem player endplayer
syn keyword prismBool true false
syn keyword prismVariableType bool clock const double global int rate label filter func
syn keyword prismFunction max min
syn region prismString start='"' end='"'
syn match prismOp "[&|<>=!+\-*/:?]"
syn match prismNumber "[0-9][0-9]*"
syn match prismVariableName "[_a-zA-Z][_a-zA-Z0-9]*"
syn match prismComment "//.*$"
syn match prismArrow "->"
syn match prismActionEmpty "\[\]"
syn match prismAction "\[[a-zA-Z][a-zA-Z0-9]*\]"
" A, , C E, F, G, I, X, Pmax, Pmin, P prob, Rmax, Rmin, R, S, U, W.
hi def link prismStructureKeyword Keyword
hi def link prismVariableType Type
hi def link prismVariableName Identifier
hi def link prismNumber Number
hi def link prismBool Boolean
hi def link prismComment Comment
hi def link prismString String
hi def link prismArrow Operator
hi def link prismOp Operator
hi def link prismActionEmpty Special
hi def link prismAction Special

40
prism/etc/syntax-highlighters/vim/prismproperty.vim

@ -0,0 +1,40 @@
" Vim syntax file
" Language: PRISM property files
" Latest Revision: 20 October 2011
if exists("b:current_syntax")
finish
endif
syn match prismOp "[&|=<>]"
syn keyword prismFilterParam min max count sum avg first range forall exists state argmin argmax print
syn keyword prismStructureKeyword filter
syn keyword prismBool true false
syn keyword prismVariableType bool double int const
syn match prismVariableName "[_a-zA-Z][_a-zA-Z0-9]*"
syn match prismNumber "[0-9][0-9]*"
syn match prismComment "//.*$" contains=prismResult
syn match prismResult "RESULT.*$" contained
syn match prismStatePROperator "[PRS]\({[^\}]*}\|\)\(min\|max\|\)[=<>?]*[0-9]*" contains=prismNumberInOperator,prismString
syn match prismTemporalOperator "[ACEFGIXUW][=<>?]*[0-9]*" contains=prismNumberInOperator
syn match prismCoalition "<<[^>]*>>" contains=prismNumberInOperator
syn match prismNumberInOperator "[0-9]*" contained
syn region prismString start='"' end='"'
hi def link prismStructureKeyword Keyword
hi def link prismVariableType Type
hi def link prismVariableName Identifier
hi def link prismBool Boolean
hi def link prismNumberInOperator Number
hi def link prismNumber Number
hi def link prismComment Comment
hi def link prismString String
hi def link prismStatePROperator Operator
hi def link prismTemporalOperator Operator
hi def link prismTempOperator Operator
hi def link prismCoalition Operator
hi def link prismFilterParam Keyword
hi def link prismOp Operator
hi def link prismResult PreProc
Loading…
Cancel
Save