mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 13:15:09 -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>
127 lines
4.4 KiB
VimL
127 lines
4.4 KiB
VimL
" Vim syntax file
|
|
" Language: occam
|
|
" Copyright: Fred Barnes <frmb2@kent.ac.uk>, Mario Schweigler <ms44@kent.ac.uk>
|
|
" Maintainer: Mario Schweigler <ms44@kent.ac.uk>
|
|
" Last Change: 24 May 2003
|
|
|
|
if version < 600
|
|
syntax clear
|
|
elseif exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
"{{{ Settings
|
|
" Set shift width for indent
|
|
setlocal shiftwidth=2
|
|
" Set the tab key size to two spaces
|
|
setlocal softtabstop=2
|
|
" Let tab keys always be expanded to spaces
|
|
setlocal expandtab
|
|
|
|
" Dots are valid in occam identifiers
|
|
setlocal iskeyword+=.
|
|
"}}}
|
|
|
|
syn case match
|
|
|
|
syn keyword occamType BYTE BOOL INT INT16 INT32 INT64 REAL32 REAL64 ANY
|
|
syn keyword occamType CHAN DATA OF TYPE TIMER INITIAL VAL PORT MOBILE PLACED
|
|
syn keyword occamType PROCESSOR PACKED RECORD PROTOCOL SHARED ROUND TRUNC
|
|
|
|
syn keyword occamStructure SEQ PAR IF ALT PRI FORKING PLACE AT
|
|
|
|
syn keyword occamKeyword PROC IS TRUE FALSE SIZE RECURSIVE REC
|
|
syn keyword occamKeyword RETYPES RESHAPES STEP FROM FOR RESCHEDULE STOP SKIP FORK
|
|
syn keyword occamKeyword FUNCTION VALOF RESULT ELSE CLONE CLAIM
|
|
syn keyword occamBoolean TRUE FALSE
|
|
syn keyword occamRepeat WHILE
|
|
syn keyword occamConditional CASE
|
|
syn keyword occamConstant MOSTNEG MOSTPOS
|
|
|
|
syn match occamBrackets /\[\|\]/
|
|
syn match occamParantheses /(\|)/
|
|
|
|
syn keyword occamOperator AFTER TIMES MINUS PLUS INITIAL REM AND OR XOR NOT
|
|
syn keyword occamOperator BITAND BITOR BITNOT BYTESIN OFFSETOF
|
|
|
|
syn match occamOperator /::\|:=\|?\|!/
|
|
syn match occamOperator /<\|>\|+\|-\|\*\|\/\|\\\|=\|\~/
|
|
syn match occamOperator /@\|\$\$\|%\|&&\|<&\|&>\|<\]\|\[>\|\^/
|
|
|
|
syn match occamSpecialChar /\M**\|*'\|*"\|*#\(\[0-9A-F\]\+\)/ contained
|
|
syn match occamChar /\M\L\='\[^*\]'/
|
|
syn match occamChar /L'[^']*'/ contains=occamSpecialChar
|
|
|
|
syn case ignore
|
|
syn match occamTodo /\<todo\>:\=/ contained
|
|
syn match occamNote /\<note\>:\=/ contained
|
|
syn case match
|
|
syn keyword occamNote NOT contained
|
|
|
|
syn match occamComment /--.*/ contains=occamCommentTitle,occamTodo,occamNote
|
|
syn match occamCommentTitle /--\s*\u\a*\(\s\+\u\a*\)*:/hs=s+2 contained contains=occamTodo,occamNote
|
|
syn match occamCommentTitle /--\s*KROC-LIBRARY\(\.so\|\.a\)\=\s*$/hs=s+2 contained
|
|
syn match occamCommentTitle /--\s*\(KROC-OPTIONS:\|RUN-PARAMETERS:\)/hs=s+2 contained
|
|
|
|
syn match occamIdentifier /\<[A-Z.][A-Z.0-9]*\>/
|
|
syn match occamFunction /\<[A-Za-z.][A-Za-z0-9.]*\>/ contained
|
|
|
|
syn match occamPPIdentifier /##.\{-}\>/
|
|
|
|
syn region occamString start=/"/ skip=/\M*"/ end=/"/ contains=occamSpecialChar
|
|
syn region occamCharString start=/'/ end=/'/ contains=occamSpecialChar
|
|
|
|
syn match occamNumber /\<\d\+\(\.\d\+\(E\(+\|-\)\d\+\)\=\)\=/
|
|
syn match occamNumber /-\d\+\(\.\d\+\(E\(+\|-\)\d\+\)\=\)\=/
|
|
syn match occamNumber /#\(\d\|[A-F]\)\+/
|
|
syn match occamNumber /-#\(\d\|[A-F]\)\+/
|
|
|
|
syn keyword occamCDString SHARED EXTERNAL DEFINED NOALIAS NOUSAGE NOT contained
|
|
syn keyword occamCDString FILE LINE PROCESS.PRIORITY OCCAM2.5 contained
|
|
syn keyword occamCDString USER.DEFINED.OPERATORS INITIAL.DECL MOBILES contained
|
|
syn keyword occamCDString BLOCKING.SYSCALLS VERSION NEED.QUAD.ALIGNMENT contained
|
|
syn keyword occamCDString TARGET.CANONICAL TARGET.CPU TARGET.OS TARGET.VENDOR contained
|
|
syn keyword occamCDString TRUE FALSE AND OR contained
|
|
syn match occamCDString /<\|>\|=\|(\|)/ contained
|
|
|
|
syn region occamCDirective start=/#\(USE\|INCLUDE\|PRAGMA\|DEFINE\|UNDEFINE\|UNDEF\|IF\|ELIF\|ELSE\|ENDIF\|WARNING\|ERROR\|RELAX\)\>/ end=/$/ contains=occamString,occamComment,occamCDString
|
|
|
|
if version >= 508 || !exists("did_occam_syn_inits")
|
|
if version < 508
|
|
let did_occam_syntax_inits = 1
|
|
command -nargs=+ HiLink hi link <args>
|
|
else
|
|
command -nargs=+ HiLink hi def link <args>
|
|
endif
|
|
|
|
HiLink occamType Type
|
|
HiLink occamKeyword Keyword
|
|
HiLink occamComment Comment
|
|
HiLink occamCommentTitle PreProc
|
|
HiLink occamTodo Todo
|
|
HiLink occamNote Todo
|
|
HiLink occamString String
|
|
HiLink occamCharString String
|
|
HiLink occamNumber Number
|
|
HiLink occamCDirective PreProc
|
|
HiLink occamCDString String
|
|
HiLink occamPPIdentifier PreProc
|
|
HiLink occamBoolean Boolean
|
|
HiLink occamSpecialChar SpecialChar
|
|
HiLink occamChar Character
|
|
HiLink occamStructure Structure
|
|
HiLink occamIdentifier Identifier
|
|
HiLink occamConstant Constant
|
|
HiLink occamOperator Operator
|
|
HiLink occamFunction Ignore
|
|
HiLink occamRepeat Repeat
|
|
HiLink occamConditional Conditional
|
|
HiLink occamBrackets Type
|
|
HiLink occamParantheses Delimiter
|
|
|
|
delcommand HiLink
|
|
endif
|
|
|
|
let b:current_syntax = "occam"
|
|
|