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>
103 lines
3.6 KiB
VimL
103 lines
3.6 KiB
VimL
" Vim syntax file
|
|
" Language: S-Lang
|
|
" Maintainer: Jan Hlavacek <lahvak@math.ohio-state.edu>
|
|
" Last Change: 980216
|
|
|
|
" 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
|
|
|
|
syn keyword slangStatement break return continue EXECUTE_ERROR_BLOCK
|
|
syn match slangStatement "\<X_USER_BLOCK[0-4]\>"
|
|
syn keyword slangLabel case
|
|
syn keyword slangConditional !if if else switch
|
|
syn keyword slangRepeat while for _for loop do forever
|
|
syn keyword slangDefinition define typedef variable struct
|
|
syn keyword slangOperator or and andelse orelse shr shl xor not
|
|
syn keyword slangBlock EXIT_BLOCK ERROR_BLOCK
|
|
syn match slangBlock "\<USER_BLOCK[0-4]\>"
|
|
syn keyword slangConstant NULL
|
|
syn keyword slangType Integer_Type Double_Type Complex_Type String_Type Struct_Type Ref_Type Null_Type Array_Type DataType_Type
|
|
|
|
syn match slangOctal "\<0\d\+\>" contains=slangOctalError
|
|
syn match slangOctalError "[89]\+" contained
|
|
syn match slangHex "\<0[xX][0-9A-Fa-f]*\>"
|
|
syn match slangDecimal "\<[1-9]\d*\>"
|
|
syn match slangFloat "\<\d\+\."
|
|
syn match slangFloat "\<\d\+\.\d\+\([Ee][-+]\=\d\+\)\=\>"
|
|
syn match slangFloat "\<\d\+\.[Ee][-+]\=\d\+\>"
|
|
syn match slangFloat "\<\d\+[Ee][-+]\=\d\+\>"
|
|
syn match slangFloat "\.\d\+\([Ee][-+]\=\d\+\)\=\>"
|
|
syn match slangImaginary "\.\d\+\([Ee][-+]\=\d*\)\=[ij]\>"
|
|
syn match slangImaginary "\<\d\+\(\.\d*\)\=\([Ee][-+]\=\d\+\)\=[ij]\>"
|
|
|
|
syn region slangString oneline start='"' end='"' skip='\\"'
|
|
syn match slangCharacter "'[^\\]'"
|
|
syn match slangCharacter "'\\.'"
|
|
syn match slangCharacter "'\\[0-7]\{1,3}'"
|
|
syn match slangCharacter "'\\d\d\{1,3}'"
|
|
syn match slangCharacter "'\\x[0-7a-fA-F]\{1,2}'"
|
|
|
|
syn match slangDelim "[][{};:,]"
|
|
syn match slangOperator "[-%+/&*=<>|!~^@]"
|
|
|
|
"catch errors caused by wrong parenthesis
|
|
syn region slangParen matchgroup=slangDelim transparent start='(' end=')' contains=ALLBUT,slangParenError
|
|
syn match slangParenError ")"
|
|
|
|
syn match slangComment "%.*$"
|
|
syn keyword slangOperator sizeof
|
|
|
|
syn region slangPreCondit start="^\s*#\s*\(ifdef\>\|ifndef\>\|iftrue\>\|ifnfalse\>\|iffalse\>\|ifntrue\>\|if\$\|ifn\$\|\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=cComment,slangString,slangCharacter,slangNumber
|
|
|
|
" 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_slang_syntax_inits")
|
|
if version < 508
|
|
let did_slang_syntax_inits = 1
|
|
command -nargs=+ HiLink hi link <args>
|
|
else
|
|
command -nargs=+ HiLink hi def link <args>
|
|
endif
|
|
|
|
HiLink slangDefinition Type
|
|
HiLink slangBlock slangDefinition
|
|
HiLink slangLabel Label
|
|
HiLink slangConditional Conditional
|
|
HiLink slangRepeat Repeat
|
|
HiLink slangCharacter Character
|
|
HiLink slangFloat Float
|
|
HiLink slangImaginary Float
|
|
HiLink slangDecimal slangNumber
|
|
HiLink slangOctal slangNumber
|
|
HiLink slangHex slangNumber
|
|
HiLink slangNumber Number
|
|
HiLink slangParenError Error
|
|
HiLink slangOctalError Error
|
|
HiLink slangOperator Operator
|
|
HiLink slangStructure Structure
|
|
HiLink slangInclude Include
|
|
HiLink slangPreCondit PreCondit
|
|
HiLink slangError Error
|
|
HiLink slangStatement Statement
|
|
HiLink slangType Type
|
|
HiLink slangString String
|
|
HiLink slangConstant Constant
|
|
HiLink slangRangeArray slangConstant
|
|
HiLink slangComment Comment
|
|
HiLink slangSpecial SpecialChar
|
|
HiLink slangTodo Todo
|
|
HiLink slangDelim Delimiter
|
|
|
|
delcommand HiLink
|
|
endif
|
|
|
|
let b:current_syntax = "slang"
|
|
|
|
" vim: ts=8
|