mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
128 lines
4.6 KiB
VimL
128 lines
4.6 KiB
VimL
|
" Vim syntax file
|
||
|
" Language: Murphi model checking language
|
||
|
" Maintainer: Matthew Fernandez <matthew.fernandez@gmail.com>
|
||
|
" Last Change: 2017 May 3
|
||
|
" Version: 2
|
||
|
" Remark: Originally authored by Diego Ongaro <ongaro@cs.stanford.edu>
|
||
|
|
||
|
if version < 600
|
||
|
syntax clear
|
||
|
elseif exists("b:current_syntax")
|
||
|
finish
|
||
|
endif
|
||
|
|
||
|
" Keywords are case insensitive.
|
||
|
" Keep these in alphabetical order.
|
||
|
syntax case ignore
|
||
|
syn keyword murphiKeyword alias
|
||
|
syn keyword murphiStructure array
|
||
|
syn keyword murphiKeyword assert
|
||
|
syn keyword murphiKeyword begin
|
||
|
syn keyword murphiType boolean
|
||
|
syn keyword murphiKeyword by
|
||
|
syn keyword murphiLabel case
|
||
|
syn keyword murphiKeyword clear
|
||
|
syn keyword murphiLabel const
|
||
|
syn keyword murphiRepeat do
|
||
|
syn keyword murphiConditional else
|
||
|
syn keyword murphiConditional elsif
|
||
|
syn keyword murphiKeyword end
|
||
|
syn keyword murphiKeyword endalias
|
||
|
syn keyword murphiRepeat endexists
|
||
|
syn keyword murphiRepeat endfor
|
||
|
syn keyword murphiRepeat endforall
|
||
|
syn keyword murphiKeyword endfunction
|
||
|
syn keyword murphiConditional endif
|
||
|
syn keyword murphiKeyword endprocedure
|
||
|
syn keyword murphiStructure endrecord
|
||
|
syn keyword murphiKeyword endrule
|
||
|
syn keyword murphiKeyword endruleset
|
||
|
syn keyword murphiKeyword endstartstate
|
||
|
syn keyword murphiConditional endswitch
|
||
|
syn keyword murphiRepeat endwhile
|
||
|
syn keyword murphiStructure enum
|
||
|
syn keyword murphiKeyword error
|
||
|
syn keyword murphiRepeat exists
|
||
|
syn keyword murphiBoolean false
|
||
|
syn keyword murphiRepeat for
|
||
|
syn keyword murphiRepeat forall
|
||
|
syn keyword murphiKeyword function
|
||
|
syn keyword murphiConditional if
|
||
|
syn keyword murphiKeyword in
|
||
|
syn keyword murphiKeyword interleaved
|
||
|
syn keyword murphiLabel invariant
|
||
|
syn keyword murphiFunction ismember
|
||
|
syn keyword murphiFunction isundefined
|
||
|
syn keyword murphiKeyword log
|
||
|
syn keyword murphiStructure of
|
||
|
syn keyword murphiType multiset
|
||
|
syn keyword murphiFunction multisetadd
|
||
|
syn keyword murphiFunction multisetcount
|
||
|
syn keyword murphiFunction multisetremove
|
||
|
syn keyword murphiFunction multisetremovepred
|
||
|
syn keyword murphiKeyword procedure
|
||
|
syn keyword murphiKeyword process
|
||
|
syn keyword murphiKeyword program
|
||
|
syn keyword murphiKeyword put
|
||
|
syn keyword murphiStructure record
|
||
|
syn keyword murphiKeyword return
|
||
|
syn keyword murphiLabel rule
|
||
|
syn keyword murphiLabel ruleset
|
||
|
syn keyword murphiType scalarset
|
||
|
syn keyword murphiLabel startstate
|
||
|
syn keyword murphiConditional switch
|
||
|
syn keyword murphiConditional then
|
||
|
syn keyword murphiRepeat to
|
||
|
syn keyword murphiKeyword traceuntil
|
||
|
syn keyword murphiBoolean true
|
||
|
syn keyword murphiLabel type
|
||
|
syn keyword murphiKeyword undefine
|
||
|
syn keyword murphiStructure union
|
||
|
syn keyword murphiLabel var
|
||
|
syn keyword murphiRepeat while
|
||
|
|
||
|
syn keyword murphiTodo contained todo xxx fixme
|
||
|
syntax case match
|
||
|
|
||
|
" Integers.
|
||
|
syn match murphiNumber "\<\d\+\>"
|
||
|
|
||
|
" Operators and special characters.
|
||
|
syn match murphiOperator "[\+\-\*\/%&|=!<>:\?]\|\."
|
||
|
syn match murphiDelimiter "\(:[^=]\|[;,]\)"
|
||
|
syn match murphiSpecial "[()\[\]]"
|
||
|
|
||
|
" Double equal sign is a common error: use one equal sign for equality testing.
|
||
|
syn match murphiError "==[^>]"he=e-1
|
||
|
" Double && and || are errors.
|
||
|
syn match murphiError "&&\|||"
|
||
|
|
||
|
" Strings. This is defined so late so that it overrides previous matches.
|
||
|
syn region murphiString start=+"+ end=+"+
|
||
|
|
||
|
" Comments. This is defined so late so that it overrides previous matches.
|
||
|
syn region murphiComment start="--" end="$" contains=murphiTodo
|
||
|
syn region murphiComment start="/\*" end="\*/" contains=murphiTodo
|
||
|
|
||
|
" Link the rules to some groups.
|
||
|
highlight link murphiComment Comment
|
||
|
highlight link murphiString String
|
||
|
highlight link murphiNumber Number
|
||
|
highlight link murphiBoolean Boolean
|
||
|
highlight link murphiIdentifier Identifier
|
||
|
highlight link murphiFunction Function
|
||
|
highlight link murphiStatement Statement
|
||
|
highlight link murphiConditional Conditional
|
||
|
highlight link murphiRepeat Repeat
|
||
|
highlight link murphiLabel Label
|
||
|
highlight link murphiOperator Operator
|
||
|
highlight link murphiKeyword Keyword
|
||
|
highlight link murphiType Type
|
||
|
highlight link murphiStructure Structure
|
||
|
highlight link murphiSpecial Special
|
||
|
highlight link murphiDelimiter Delimiter
|
||
|
highlight link murphiError Error
|
||
|
highlight link murphiTodo Todo
|
||
|
|
||
|
let b:current_syntax = "murphi"
|