mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
196 lines
7.3 KiB
VimL
196 lines
7.3 KiB
VimL
" Vim syntax file
|
|
" Language: CSP (Communication Sequential Processes, using FDR input syntax)
|
|
" Maintainer: Jan Bredereke <brederek@tzi.de>
|
|
" Version: 0.6.0
|
|
" Last change: Mon Mar 25, 2002
|
|
" URL: http://www.tzi.de/~brederek/vim/
|
|
" Copying: You may distribute and use this file freely, in the same
|
|
" way as the vim editor itself.
|
|
"
|
|
" To Do: - Probably I missed some keywords or operators, please
|
|
" fix them and notify me, the maintainer.
|
|
" - Currently, we do lexical highlighting only. It would be
|
|
" nice to have more actual syntax checks, including
|
|
" highlighting of wrong syntax.
|
|
" - The additional syntax for the RT-Tester (pseudo-comments)
|
|
" should be optional.
|
|
|
|
" For version 5.x: Clear all syntax items
|
|
" For version 6.x: Quit when a syntax file was already loaded
|
|
if version < 600
|
|
syntax clear
|
|
elseif exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" case is significant to FDR:
|
|
syn case match
|
|
|
|
" Block comments in CSP are between {- and -}
|
|
syn region cspComment start="{-" end="-}" contains=cspTodo
|
|
" Single-line comments start with --
|
|
syn region cspComment start="--" end="$" contains=cspTodo,cspOldRttComment,cspSdlRttComment keepend
|
|
|
|
" Numbers:
|
|
syn match cspNumber "\<\d\+\>"
|
|
|
|
" Conditionals:
|
|
syn keyword cspConditional if then else
|
|
|
|
" Operators on processes:
|
|
" -> ? : ! ' ; /\ \ [] |~| [> & [[..<-..]] ||| [|..|] || [..<->..] ; : @ |||
|
|
syn match cspOperator "->"
|
|
syn match cspOperator "/\\"
|
|
syn match cspOperator "[^/]\\"lc=1
|
|
syn match cspOperator "\[\]"
|
|
syn match cspOperator "|\~|"
|
|
syn match cspOperator "\[>"
|
|
syn match cspOperator "\[\["
|
|
syn match cspOperator "\]\]"
|
|
syn match cspOperator "<-"
|
|
syn match cspOperator "|||"
|
|
syn match cspOperator "[^|]||[^|]"lc=1,me=e-1
|
|
syn match cspOperator "[^|{\~]|[^|}\~]"lc=1,me=e-1
|
|
syn match cspOperator "\[|"
|
|
syn match cspOperator "|\]"
|
|
syn match cspOperator "\[[^>]"me=e-1
|
|
syn match cspOperator "\]"
|
|
syn match cspOperator "<->"
|
|
syn match cspOperator "[?:!';@]"
|
|
syn match cspOperator "&"
|
|
syn match cspOperator "\."
|
|
|
|
" (not on processes:)
|
|
" syn match cspDelimiter "{|"
|
|
" syn match cspDelimiter "|}"
|
|
" syn match cspDelimiter "{[^-|]"me=e-1
|
|
" syn match cspDelimiter "[^-|]}"lc=1
|
|
|
|
" Keywords:
|
|
syn keyword cspKeyword length null head tail concat elem
|
|
syn keyword cspKeyword union inter diff Union Inter member card
|
|
syn keyword cspKeyword empty set Set Seq
|
|
syn keyword cspKeyword true false and or not within let
|
|
syn keyword cspKeyword nametype datatype diamond normal
|
|
syn keyword cspKeyword sbisim tau_loop_factor model_compress
|
|
syn keyword cspKeyword explicate
|
|
syn match cspKeyword "transparent"
|
|
syn keyword cspKeyword external chase prioritize
|
|
syn keyword cspKeyword channel Events
|
|
syn keyword cspKeyword extensions productions
|
|
syn keyword cspKeyword Bool Int
|
|
|
|
" Reserved keywords:
|
|
syn keyword cspReserved attribute embed module subtype
|
|
|
|
" Include:
|
|
syn region cspInclude matchgroup=cspIncludeKeyword start="^include" end="$" keepend contains=cspIncludeArg
|
|
syn region cspIncludeArg start='\s\+\"' end= '\"\s*' contained
|
|
|
|
" Assertions:
|
|
syn keyword cspAssert assert deterministic divergence free deadlock
|
|
syn keyword cspAssert livelock
|
|
syn match cspAssert "\[T="
|
|
syn match cspAssert "\[F="
|
|
syn match cspAssert "\[FD="
|
|
syn match cspAssert "\[FD\]"
|
|
syn match cspAssert "\[F\]"
|
|
|
|
" Types and Sets
|
|
" (first char a capital, later at least one lower case, no trailing underscore):
|
|
syn match cspType "\<_*[A-Z][A-Z_0-9]*[a-z]\(\|[A-Za-z_0-9]*[A-Za-z0-9]\)\>"
|
|
|
|
" Processes (all upper case, no trailing underscore):
|
|
" (For identifiers that could be types or sets, too, this second rule set
|
|
" wins.)
|
|
syn match cspProcess "\<[A-Z_][A-Z_0-9]*[A-Z0-9]\>"
|
|
syn match cspProcess "\<[A-Z_]\>"
|
|
|
|
" reserved identifiers for tool output (ending in underscore):
|
|
syn match cspReservedIdentifier "\<[A-Za-z_][A-Za-z_0-9]*_\>"
|
|
|
|
" ToDo markers:
|
|
syn match cspTodo "FIXME" contained
|
|
syn match cspTodo "TODO" contained
|
|
syn match cspTodo "!!!" contained
|
|
|
|
" RT-Tester pseudo comments:
|
|
" (The now obsolete syntax:)
|
|
syn match cspOldRttComment "^--\$\$AM_UNDEF"lc=2 contained
|
|
syn match cspOldRttComment "^--\$\$AM_ERROR"lc=2 contained
|
|
syn match cspOldRttComment "^--\$\$AM_WARNING"lc=2 contained
|
|
syn match cspOldRttComment "^--\$\$AM_SET_TIMER"lc=2 contained
|
|
syn match cspOldRttComment "^--\$\$AM_RESET_TIMER"lc=2 contained
|
|
syn match cspOldRttComment "^--\$\$AM_ELAPSED_TIMER"lc=2 contained
|
|
syn match cspOldRttComment "^--\$\$AM_OUTPUT"lc=2 contained
|
|
syn match cspOldRttComment "^--\$\$AM_INPUT"lc=2 contained
|
|
" (The current syntax:)
|
|
syn region cspRttPragma matchgroup=cspRttPragmaKeyword start="^pragma\s\+" end="\s*$" oneline keepend contains=cspRttPragmaArg,cspRttPragmaSdl
|
|
syn keyword cspRttPragmaArg AM_ERROR AM_WARNING AM_SET_TIMER contained
|
|
syn keyword cspRttPragmaArg AM_RESET_TIMER AM_ELAPSED_TIMER contained
|
|
syn keyword cspRttPragmaArg AM_OUTPUT AM_INPUT AM_INTERNAL contained
|
|
" the "SDL_MATCH" extension:
|
|
syn region cspRttPragmaSdl matchgroup=cspRttPragmaKeyword start="SDL_MATCH\s\+" end="\s*$" contains=cspRttPragmaSdlArg contained
|
|
syn keyword cspRttPragmaSdlArg TRANSLATE nextgroup=cspRttPragmaSdlTransName contained
|
|
syn keyword cspRttPragmaSdlArg PARAM SKIP OPTIONAL CHOICE ARRAY nextgroup=cspRttPragmaSdlName contained
|
|
syn match cspRttPragmaSdlName "\s*\S\+\s*" nextgroup=cspRttPragmaSdlTail contained
|
|
syn region cspRttPragmaSdlTail start="" end="\s*$" contains=cspRttPragmaSdlTailArg contained
|
|
syn keyword cspRttPragmaSdlTailArg SUBSET_USED DEFAULT_VALUE Present contained
|
|
syn match cspRttPragmaSdlTransName "\s*\w\+\s*" nextgroup=cspRttPragmaSdlTransTail contained
|
|
syn region cspRttPragmaSdlTransTail start="" end="\s*$" contains=cspRttPragmaSdlTransTailArg contained
|
|
syn keyword cspRttPragmaSdlTransTailArg sizeof contained
|
|
syn match cspRttPragmaSdlTransTailArg "\*" contained
|
|
syn match cspRttPragmaSdlTransTailArg "(" contained
|
|
syn match cspRttPragmaSdlTransTailArg ")" contained
|
|
|
|
" temporary syntax extension for commented-out "pragma SDL_MATCH":
|
|
syn match cspSdlRttComment "pragma\s\+SDL_MATCH\s\+" nextgroup=cspRttPragmaSdlArg contained
|
|
|
|
syn sync lines=250
|
|
|
|
" Define the default highlighting.
|
|
" For version 5.7 and earlier: only when not done already
|
|
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
|
if version >= 508 || !exists("did_csp_syn_inits")
|
|
if version < 508
|
|
let did_csp_syn_inits = 1
|
|
command -nargs=+ HiLink hi link <args>
|
|
else
|
|
command -nargs=+ HiLink hi def link <args>
|
|
endif
|
|
|
|
" The default methods for highlighting. Can be overridden later
|
|
" (For vim version <=5.7, the command groups are defined in
|
|
" $VIMRUNTIME/syntax/synload.vim )
|
|
HiLink cspComment Comment
|
|
HiLink cspNumber Number
|
|
HiLink cspConditional Conditional
|
|
HiLink cspOperator Delimiter
|
|
HiLink cspKeyword Keyword
|
|
HiLink cspReserved SpecialChar
|
|
HiLink cspInclude Error
|
|
HiLink cspIncludeKeyword Include
|
|
HiLink cspIncludeArg Include
|
|
HiLink cspAssert PreCondit
|
|
HiLink cspType Type
|
|
HiLink cspProcess Function
|
|
HiLink cspTodo Todo
|
|
HiLink cspOldRttComment Define
|
|
HiLink cspRttPragmaKeyword Define
|
|
HiLink cspSdlRttComment Define
|
|
HiLink cspRttPragmaArg Define
|
|
HiLink cspRttPragmaSdlArg Define
|
|
HiLink cspRttPragmaSdlName Default
|
|
HiLink cspRttPragmaSdlTailArg Define
|
|
HiLink cspRttPragmaSdlTransName Default
|
|
HiLink cspRttPragmaSdlTransTailArg Define
|
|
HiLink cspReservedIdentifier Error
|
|
" (Currently unused vim method: Debug)
|
|
|
|
delcommand HiLink
|
|
endif
|
|
|
|
let b:current_syntax = "csp"
|
|
|
|
" vim: ts=8
|