mirror of
https://github.com/neovim/neovim.git
synced 2026-05-02 12:04:58 +00:00
@@ -18,8 +18,6 @@ syn keyword gdscriptRepeat for while break continue
|
||||
|
||||
syn keyword gdscriptOperator is as not and or in
|
||||
|
||||
syn match gdscriptClass "\v<\u\w+>"
|
||||
syn match gdscriptConstant "\<[_A-Z]\+[0-9_A-Z]*\>"
|
||||
syn match gdscriptBlockStart ":\s*$"
|
||||
|
||||
syn keyword gdscriptKeyword null self owner parent tool
|
||||
@@ -33,14 +31,16 @@ syn keyword gdscriptStatement onready
|
||||
syn keyword gdscriptStatement class_name extends
|
||||
|
||||
syn keyword gdscriptType void bool int float String contained
|
||||
syn match gdscriptType ":\s*\zs\h\w*" contained
|
||||
syn match gdscriptType "->\s*\zs\h\w*" contained
|
||||
|
||||
syn keyword gdscriptStatement var nextgroup=gdscriptTypeDecl skipwhite
|
||||
syn keyword gdscriptStatement const nextgroup=gdscriptTypeDecl skipwhite
|
||||
syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite
|
||||
syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptOperator,gdscriptType,gdscriptClass skipwhite
|
||||
syn match gdscriptTypeDecl "\h\w*\s*:\s*\h\w*" contains=gdscriptType contained skipwhite
|
||||
syn match gdscriptTypeDecl "->\s*\h\w*" contains=gdscriptType skipwhite
|
||||
|
||||
syn keyword gdscriptStatement export nextgroup=gdscriptExportTypeDecl skipwhite
|
||||
syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType,gdscriptClass contained skipwhite
|
||||
syn match gdscriptExportTypeDecl "(.\{-}[,)]" contains=gdscriptOperator,gdscriptType contained skipwhite
|
||||
|
||||
syn keyword gdscriptStatement setget nextgroup=gdscriptSetGet,gdscriptSetGetSeparator skipwhite
|
||||
syn match gdscriptSetGet "\h\w*" nextgroup=gdscriptSetGetSeparator display contained skipwhite
|
||||
@@ -84,8 +84,6 @@ hi def link gdscriptOperator Operator
|
||||
hi def link gdscriptRepeat Repeat
|
||||
hi def link gdscriptSetGet Function
|
||||
hi def link gdscriptFunctionName Function
|
||||
hi def link gdscriptClass Type
|
||||
hi def link gdscriptConstant Constant
|
||||
hi def link gdscriptBuiltinStruct Typedef
|
||||
hi def link gdscriptComment Comment
|
||||
hi def link gdscriptString String
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Lua 4.0, Lua 5.0, Lua 5.1 and Lua 5.2
|
||||
" Language: Lua 4.0, Lua 5.0, Lua 5.1, Lua 5.2 and Lua 5.3
|
||||
" Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com>
|
||||
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
|
||||
" Last Change: 2022 Mar 31
|
||||
" Last Change: 2022 Sep 07
|
||||
" Options: lua_version = 4 or 5
|
||||
" lua_subversion = 0 (4.0, 5.0) or 1 (5.1) or 2 (5.2)
|
||||
" default 5.2
|
||||
" lua_subversion = 0 (for 4.0 or 5.0)
|
||||
" or 1, 2, 3 (for 5.1, 5.2 or 5.3)
|
||||
" the default is 5.3
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -16,20 +17,98 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if !exists("lua_version")
|
||||
" Default is lua 5.2
|
||||
" Default is lua 5.3
|
||||
let lua_version = 5
|
||||
let lua_subversion = 2
|
||||
let lua_subversion = 3
|
||||
elseif !exists("lua_subversion")
|
||||
" lua_version exists, but lua_subversion doesn't. So, set it to 0
|
||||
" lua_version exists, but lua_subversion doesn't. In this case set it to 0
|
||||
let lua_subversion = 0
|
||||
endif
|
||||
|
||||
syn case match
|
||||
|
||||
" syncing method
|
||||
syn sync minlines=100
|
||||
syn sync minlines=1000
|
||||
|
||||
" Comments
|
||||
if lua_version >= 5
|
||||
syn keyword luaMetaMethod __add __sub __mul __div __pow __unm __concat
|
||||
syn keyword luaMetaMethod __eq __lt __le
|
||||
syn keyword luaMetaMethod __index __newindex __call
|
||||
syn keyword luaMetaMethod __metatable __mode __gc __tostring
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
syn keyword luaMetaMethod __mod __len
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
|
||||
syn keyword luaMetaMethod __pairs
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 3)
|
||||
syn keyword luaMetaMethod __idiv __name
|
||||
syn keyword luaMetaMethod __band __bor __bxor __bnot __shl __shr
|
||||
endif
|
||||
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 4)
|
||||
syn keyword luaMetaMethod __close
|
||||
endif
|
||||
|
||||
" catch errors caused by wrong parenthesis and wrong curly brackets or
|
||||
" keywords placed outside their respective blocks
|
||||
|
||||
syn region luaParen transparent start='(' end=')' contains=TOP,luaParenError
|
||||
syn match luaParenError ")"
|
||||
syn match luaError "}"
|
||||
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
|
||||
|
||||
" Function declaration
|
||||
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=TOP
|
||||
|
||||
" else
|
||||
syn keyword luaCondElse matchgroup=luaCond contained containedin=luaCondEnd else
|
||||
|
||||
" then ... end
|
||||
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=TOP
|
||||
|
||||
" elseif ... then
|
||||
syn region luaCondElseif contained containedin=luaCondEnd transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=TOP
|
||||
|
||||
" if ... then
|
||||
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=TOP nextgroup=luaCondEnd skipwhite skipempty
|
||||
|
||||
" do ... end
|
||||
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=TOP
|
||||
" repeat ... until
|
||||
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=TOP
|
||||
|
||||
" while ... do
|
||||
syn region luaWhile transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
" for ... do and for ... in ... do
|
||||
syn region luaFor transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=TOP nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
syn keyword luaFor contained containedin=luaFor in
|
||||
|
||||
" other keywords
|
||||
syn keyword luaStatement return local break
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
|
||||
syn keyword luaStatement goto
|
||||
syn match luaLabel "::\I\i*::"
|
||||
endif
|
||||
|
||||
" operators
|
||||
syn keyword luaOperator and or not
|
||||
|
||||
if (lua_version == 5 && lua_subversion >= 3) || lua_version > 5
|
||||
syn match luaSymbolOperator "[#<>=~^&|*/%+-]\|\.\{2,3}"
|
||||
elseif lua_version == 5 && (lua_subversion == 1 || lua_subversion == 2)
|
||||
syn match luaSymbolOperator "[#<>=~^*/%+-]\|\.\{2,3}"
|
||||
else
|
||||
syn match luaSymbolOperator "[<>=~^*/+-]\|\.\{2,3}"
|
||||
endif
|
||||
|
||||
" comments
|
||||
syn keyword luaTodo contained TODO FIXME XXX
|
||||
syn match luaComment "--.*$" contains=luaTodo,@Spell
|
||||
if lua_version == 5 && lua_subversion == 0
|
||||
@@ -40,71 +119,25 @@ elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
|
||||
syn region luaComment matchgroup=luaCommentDelimiter start="--\[\z(=*\)\[" end="\]\z1\]" contains=luaTodo,@Spell
|
||||
endif
|
||||
|
||||
" First line may start with #!
|
||||
" first line may start with #!
|
||||
syn match luaComment "\%^#!.*"
|
||||
|
||||
" catch errors caused by wrong parenthesis and wrong curly brackets or
|
||||
" keywords placed outside their respective blocks
|
||||
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaParenError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
|
||||
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaBraceError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement
|
||||
|
||||
syn match luaParenError ")"
|
||||
syn match luaBraceError "}"
|
||||
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
|
||||
|
||||
" function ... end
|
||||
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
" if ... then
|
||||
syn region luaIfThen transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaIn nextgroup=luaThenEnd skipwhite skipempty
|
||||
|
||||
" then ... end
|
||||
syn region luaThenEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaThenEnd,luaIn
|
||||
|
||||
" elseif ... then
|
||||
syn region luaElseifThen contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
" else
|
||||
syn keyword luaElse contained else
|
||||
|
||||
" do ... end
|
||||
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
" repeat ... until
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn
|
||||
|
||||
" while ... do
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaIn nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
" for ... do and for ... in ... do
|
||||
syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd nextgroup=luaBlock skipwhite skipempty
|
||||
|
||||
syn keyword luaIn contained in
|
||||
|
||||
" other keywords
|
||||
syn keyword luaStatement return local break
|
||||
if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2)
|
||||
syn keyword luaStatement goto
|
||||
syn match luaLabel "::\I\i*::"
|
||||
endif
|
||||
syn keyword luaOperator and or not
|
||||
syn keyword luaConstant nil
|
||||
if lua_version > 4
|
||||
syn keyword luaConstant true false
|
||||
endif
|
||||
|
||||
" Strings
|
||||
if lua_version < 5
|
||||
syn match luaSpecial contained "\\[\\abfnrtv\'\"]\|\\[[:digit:]]\{,3}"
|
||||
elseif lua_version == 5
|
||||
" strings
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}#
|
||||
if lua_version == 5
|
||||
if lua_subversion == 0
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}#
|
||||
syn region luaString2 matchgroup=luaStringDelimiter start=+\[\[+ end=+\]\]+ contains=luaString2,@Spell
|
||||
else
|
||||
if lua_subversion == 1
|
||||
syn match luaSpecial contained #\\[\\abfnrtv'"]\|\\[[:digit:]]\{,3}#
|
||||
else " Lua 5.2
|
||||
syn match luaSpecial contained #\\[\\abfnrtvz'"]\|\\x[[:xdigit:]]\{2}\|\\[[:digit:]]\{,3}#
|
||||
if lua_subversion >= 2
|
||||
syn match luaSpecial contained #\\z\|\\x[[:xdigit:]]\{2}#
|
||||
endif
|
||||
if lua_subversion >= 3
|
||||
syn match luaSpecial contained #\\u{[[:xdigit:]]\+}#
|
||||
endif
|
||||
syn region luaString2 matchgroup=luaStringDelimiter start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell
|
||||
endif
|
||||
@@ -115,7 +148,7 @@ syn region luaString matchgroup=luaStringDelimiter start=+"+ end=+"+ skip=+\\\\\
|
||||
" integer number
|
||||
syn match luaNumber "\<\d\+\>"
|
||||
" floating point number, with dot, optional exponent
|
||||
syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\=\>"
|
||||
syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\="
|
||||
" floating point number, starting with a dot, optional exponent
|
||||
syn match luaNumber "\.\d\+\%([eE][-+]\=\d\+\)\=\>"
|
||||
" floating point number, without dot, with exponent
|
||||
@@ -130,8 +163,15 @@ if lua_version >= 5
|
||||
endif
|
||||
endif
|
||||
|
||||
" tables
|
||||
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=TOP,luaStatement
|
||||
|
||||
" methods
|
||||
syntax match luaFunc ":\@<=\k\+"
|
||||
|
||||
" built-in functions
|
||||
syn keyword luaFunc assert collectgarbage dofile error next
|
||||
syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
|
||||
syn keyword luaFunc print rawget rawset self tonumber tostring type _VERSION
|
||||
|
||||
if lua_version == 4
|
||||
syn keyword luaFunc _ALERT _ERRORMESSAGE gcinfo
|
||||
@@ -168,30 +208,26 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<package\.loaded\>/
|
||||
syn match luaFunc /\<package\.loadlib\>/
|
||||
syn match luaFunc /\<package\.path\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
if lua_subversion == 1
|
||||
syn keyword luaFunc getfenv setfenv
|
||||
syn keyword luaFunc loadstring module unpack
|
||||
syn match luaFunc /\<package\.loaders\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
syn match luaFunc /\<package\.seeall\>/
|
||||
elseif lua_subversion == 2
|
||||
elseif lua_subversion >= 2
|
||||
syn keyword luaFunc _ENV rawlen
|
||||
syn match luaFunc /\<package\.config\>/
|
||||
syn match luaFunc /\<package\.preload\>/
|
||||
syn match luaFunc /\<package\.searchers\>/
|
||||
syn match luaFunc /\<package\.searchpath\>/
|
||||
syn match luaFunc /\<bit32\.arshift\>/
|
||||
syn match luaFunc /\<bit32\.band\>/
|
||||
syn match luaFunc /\<bit32\.bnot\>/
|
||||
syn match luaFunc /\<bit32\.bor\>/
|
||||
syn match luaFunc /\<bit32\.btest\>/
|
||||
syn match luaFunc /\<bit32\.bxor\>/
|
||||
syn match luaFunc /\<bit32\.extract\>/
|
||||
syn match luaFunc /\<bit32\.lrotate\>/
|
||||
syn match luaFunc /\<bit32\.lshift\>/
|
||||
syn match luaFunc /\<bit32\.replace\>/
|
||||
syn match luaFunc /\<bit32\.rrotate\>/
|
||||
syn match luaFunc /\<bit32\.rshift\>/
|
||||
endif
|
||||
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<coroutine\.isyieldable\>/
|
||||
endif
|
||||
if lua_subversion >= 4
|
||||
syn keyword luaFunc warn
|
||||
syn match luaFunc /\<coroutine\.close\>/
|
||||
endif
|
||||
syn match luaFunc /\<coroutine\.running\>/
|
||||
endif
|
||||
@@ -200,6 +236,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<coroutine\.status\>/
|
||||
syn match luaFunc /\<coroutine\.wrap\>/
|
||||
syn match luaFunc /\<coroutine\.yield\>/
|
||||
|
||||
syn match luaFunc /\<string\.byte\>/
|
||||
syn match luaFunc /\<string\.char\>/
|
||||
syn match luaFunc /\<string\.dump\>/
|
||||
@@ -218,6 +255,18 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<string\.match\>/
|
||||
syn match luaFunc /\<string\.reverse\>/
|
||||
endif
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<string\.pack\>/
|
||||
syn match luaFunc /\<string\.packsize\>/
|
||||
syn match luaFunc /\<string\.unpack\>/
|
||||
syn match luaFunc /\<utf8\.char\>/
|
||||
syn match luaFunc /\<utf8\.charpattern\>/
|
||||
syn match luaFunc /\<utf8\.codes\>/
|
||||
syn match luaFunc /\<utf8\.codepoint\>/
|
||||
syn match luaFunc /\<utf8\.len\>/
|
||||
syn match luaFunc /\<utf8\.offset\>/
|
||||
endif
|
||||
|
||||
if lua_subversion == 0
|
||||
syn match luaFunc /\<table\.getn\>/
|
||||
syn match luaFunc /\<table\.setn\>/
|
||||
@@ -225,19 +274,40 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<table\.foreachi\>/
|
||||
elseif lua_subversion == 1
|
||||
syn match luaFunc /\<table\.maxn\>/
|
||||
elseif lua_subversion == 2
|
||||
elseif lua_subversion >= 2
|
||||
syn match luaFunc /\<table\.pack\>/
|
||||
syn match luaFunc /\<table\.unpack\>/
|
||||
if lua_subversion >= 3
|
||||
syn match luaFunc /\<table\.move\>/
|
||||
endif
|
||||
endif
|
||||
syn match luaFunc /\<table\.concat\>/
|
||||
syn match luaFunc /\<table\.sort\>/
|
||||
syn match luaFunc /\<table\.insert\>/
|
||||
syn match luaFunc /\<table\.sort\>/
|
||||
syn match luaFunc /\<table\.remove\>/
|
||||
|
||||
if lua_subversion == 2
|
||||
syn match luaFunc /\<bit32\.arshift\>/
|
||||
syn match luaFunc /\<bit32\.band\>/
|
||||
syn match luaFunc /\<bit32\.bnot\>/
|
||||
syn match luaFunc /\<bit32\.bor\>/
|
||||
syn match luaFunc /\<bit32\.btest\>/
|
||||
syn match luaFunc /\<bit32\.bxor\>/
|
||||
syn match luaFunc /\<bit32\.extract\>/
|
||||
syn match luaFunc /\<bit32\.lrotate\>/
|
||||
syn match luaFunc /\<bit32\.lshift\>/
|
||||
syn match luaFunc /\<bit32\.replace\>/
|
||||
syn match luaFunc /\<bit32\.rrotate\>/
|
||||
syn match luaFunc /\<bit32\.rshift\>/
|
||||
endif
|
||||
|
||||
syn match luaFunc /\<math\.abs\>/
|
||||
syn match luaFunc /\<math\.acos\>/
|
||||
syn match luaFunc /\<math\.asin\>/
|
||||
syn match luaFunc /\<math\.atan\>/
|
||||
syn match luaFunc /\<math\.atan2\>/
|
||||
if lua_subversion < 3
|
||||
syn match luaFunc /\<math\.atan2\>/
|
||||
endif
|
||||
syn match luaFunc /\<math\.ceil\>/
|
||||
syn match luaFunc /\<math\.sin\>/
|
||||
syn match luaFunc /\<math\.cos\>/
|
||||
@@ -251,25 +321,36 @@ elseif lua_version == 5
|
||||
if lua_subversion == 0
|
||||
syn match luaFunc /\<math\.mod\>/
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
else
|
||||
if lua_subversion == 1
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
endif
|
||||
elseif lua_subversion == 1
|
||||
syn match luaFunc /\<math\.log10\>/
|
||||
endif
|
||||
if lua_subversion >= 1
|
||||
syn match luaFunc /\<math\.huge\>/
|
||||
syn match luaFunc /\<math\.fmod\>/
|
||||
syn match luaFunc /\<math\.modf\>/
|
||||
syn match luaFunc /\<math\.cosh\>/
|
||||
syn match luaFunc /\<math\.sinh\>/
|
||||
syn match luaFunc /\<math\.tanh\>/
|
||||
if lua_subversion == 1 || lua_subversion == 2
|
||||
syn match luaFunc /\<math\.cosh\>/
|
||||
syn match luaFunc /\<math\.sinh\>/
|
||||
syn match luaFunc /\<math\.tanh\>/
|
||||
endif
|
||||
endif
|
||||
syn match luaFunc /\<math\.pow\>/
|
||||
syn match luaFunc /\<math\.rad\>/
|
||||
syn match luaFunc /\<math\.sqrt\>/
|
||||
syn match luaFunc /\<math\.frexp\>/
|
||||
syn match luaFunc /\<math\.ldexp\>/
|
||||
if lua_subversion < 3
|
||||
syn match luaFunc /\<math\.pow\>/
|
||||
syn match luaFunc /\<math\.frexp\>/
|
||||
syn match luaFunc /\<math\.ldexp\>/
|
||||
else
|
||||
syn match luaFunc /\<math\.maxinteger\>/
|
||||
syn match luaFunc /\<math\.mininteger\>/
|
||||
syn match luaFunc /\<math\.tointeger\>/
|
||||
syn match luaFunc /\<math\.type\>/
|
||||
syn match luaFunc /\<math\.ult\>/
|
||||
endif
|
||||
syn match luaFunc /\<math\.random\>/
|
||||
syn match luaFunc /\<math\.randomseed\>/
|
||||
syn match luaFunc /\<math\.pi\>/
|
||||
|
||||
syn match luaFunc /\<io\.close\>/
|
||||
syn match luaFunc /\<io\.flush\>/
|
||||
syn match luaFunc /\<io\.input\>/
|
||||
@@ -284,6 +365,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<io\.tmpfile\>/
|
||||
syn match luaFunc /\<io\.type\>/
|
||||
syn match luaFunc /\<io\.write\>/
|
||||
|
||||
syn match luaFunc /\<os\.clock\>/
|
||||
syn match luaFunc /\<os\.date\>/
|
||||
syn match luaFunc /\<os\.difftime\>/
|
||||
@@ -295,6 +377,7 @@ elseif lua_version == 5
|
||||
syn match luaFunc /\<os\.setlocale\>/
|
||||
syn match luaFunc /\<os\.time\>/
|
||||
syn match luaFunc /\<os\.tmpname\>/
|
||||
|
||||
syn match luaFunc /\<debug\.debug\>/
|
||||
syn match luaFunc /\<debug\.gethook\>/
|
||||
syn match luaFunc /\<debug\.getinfo\>/
|
||||
@@ -307,26 +390,20 @@ elseif lua_version == 5
|
||||
if lua_subversion == 1
|
||||
syn match luaFunc /\<debug\.getfenv\>/
|
||||
syn match luaFunc /\<debug\.setfenv\>/
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
elseif lua_subversion == 2
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
syn match luaFunc /\<debug\.getuservalue\>/
|
||||
syn match luaFunc /\<debug\.setuservalue\>/
|
||||
syn match luaFunc /\<debug\.upvalueid\>/
|
||||
syn match luaFunc /\<debug\.upvaluejoin\>/
|
||||
endif
|
||||
if lua_subversion >= 3
|
||||
"https://www.lua.org/manual/5.3/manual.html#6.5
|
||||
syn match luaFunc /\<utf8\.char\>/
|
||||
syn match luaFunc /\<utf8\.charpattern\>/
|
||||
syn match luaFunc /\<utf8\.codes\>/
|
||||
syn match luaFunc /\<utf8\.codepoint\>/
|
||||
syn match luaFunc /\<utf8\.len\>/
|
||||
syn match luaFunc /\<utf8\.offset\>/
|
||||
if lua_subversion >= 1
|
||||
syn match luaFunc /\<debug\.getmetatable\>/
|
||||
syn match luaFunc /\<debug\.setmetatable\>/
|
||||
syn match luaFunc /\<debug\.getregistry\>/
|
||||
if lua_subversion >= 2
|
||||
syn match luaFunc /\<debug\.getuservalue\>/
|
||||
syn match luaFunc /\<debug\.setuservalue\>/
|
||||
syn match luaFunc /\<debug\.upvalueid\>/
|
||||
syn match luaFunc /\<debug\.upvaluejoin\>/
|
||||
endif
|
||||
if lua_subversion >= 4
|
||||
syn match luaFunc /\<debug.setcstacklimit\>/
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -341,18 +418,18 @@ hi def link luaString2 String
|
||||
hi def link luaStringDelimiter luaString
|
||||
hi def link luaNumber Number
|
||||
hi def link luaOperator Operator
|
||||
hi def link luaIn Operator
|
||||
hi def link luaSymbolOperator luaOperator
|
||||
hi def link luaConstant Constant
|
||||
hi def link luaCond Conditional
|
||||
hi def link luaElse Conditional
|
||||
hi def link luaCondElse Conditional
|
||||
hi def link luaFunction Function
|
||||
hi def link luaMetaMethod Function
|
||||
hi def link luaComment Comment
|
||||
hi def link luaCommentDelimiter luaComment
|
||||
hi def link luaTodo Todo
|
||||
hi def link luaTable Structure
|
||||
hi def link luaError Error
|
||||
hi def link luaParenError Error
|
||||
hi def link luaBraceError Error
|
||||
hi def link luaSpecial SpecialChar
|
||||
hi def link luaFunc Identifier
|
||||
hi def link luaLabel Label
|
||||
|
||||
43
runtime/syntax/lyrics.vim
Normal file
43
runtime/syntax/lyrics.vim
Normal file
@@ -0,0 +1,43 @@
|
||||
" Vim syntax file
|
||||
" Language: LyRiCs
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.lrc
|
||||
" Last Change: 2022 Sep 18
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
" Errors
|
||||
syn match lrcError /^.\+$/
|
||||
|
||||
" ID tags
|
||||
syn match lrcTag /^\s*\[\a\+:.\+\]\s*$/ contains=lrcTagName,lrcTagValue
|
||||
syn match lrcTagName contained nextgroup=lrcTagValue
|
||||
\ /\[\zs\(al\|ar\|au\|by\|encoding\|la\|id\|length\|offset\|re\|ti\|ve\)\ze:/
|
||||
syn match lrcTagValue /:\zs.\+\ze\]/ contained
|
||||
|
||||
" Lyrics
|
||||
syn match lrcLyricTime /^\s*\[\d\d:\d\d\.\d\d\]/
|
||||
\ contains=lrcNumber nextgroup=lrcLyricLine
|
||||
syn match lrcLyricLine /.*$/ contained contains=lrcWordTime,@Spell
|
||||
syn match lrcWordTime /<\d\d:\d\d\.\d\d>/ contained contains=lrcNumber,@NoSpell
|
||||
syn match lrcNumber /[+-]\=\d\+/ contained
|
||||
|
||||
hi def link lrcLyricTime Label
|
||||
hi def link lrcNumber Number
|
||||
hi def link lrcTag PreProc
|
||||
hi def link lrcTagName Identifier
|
||||
hi def link lrcTagValue String
|
||||
hi def link lrcWordTime Special
|
||||
hi def link lrcError Error
|
||||
|
||||
let b:current_syntax = 'lyrics'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
62
runtime/syntax/srt.vim
Normal file
62
runtime/syntax/srt.vim
Normal file
@@ -0,0 +1,62 @@
|
||||
" Vim syntax file
|
||||
" Language: SubRip
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.srt
|
||||
" Last Change: 2022 Sep 12
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
syn spell toplevel
|
||||
|
||||
syn cluster srtSpecial contains=srtBold,srtItalics,srtStrikethrough,srtUnderline,srtFont,srtTag,srtEscape
|
||||
|
||||
" Number
|
||||
syn match srtNumber /^\d\+$/ contains=@NoSpell
|
||||
|
||||
" Range
|
||||
syn match srtRange /\d\d:\d\d:\d\d[,.]\d\d\d --> \d\d:\d\d:\d\d[,.]\d\d\d/ skipwhite contains=srtArrow,srtTime nextgroup=srtCoordinates
|
||||
syn match srtArrow /-->/ contained contains=@NoSpell
|
||||
syn match srtTime /\d\d:\d\d:\d\d[,.]\d\d\d/ contained contains=@NoSpell
|
||||
syn match srtCoordinates /X1:\d\+ X2:\d\+ Y1:\d\+ Y2:\d\+/ contained contains=@NoSpell
|
||||
|
||||
" Bold
|
||||
syn region srtBold matchgroup=srtFormat start=+<b>+ end=+</b>+ contains=@srtSpecial
|
||||
syn region srtBold matchgroup=srtFormat start=+{b}+ end=+{/b}+ contains=@srtSpecial
|
||||
|
||||
" Italics
|
||||
syn region srtItalics matchgroup=srtFormat start=+<i>+ end=+</i>+ contains=@srtSpecial
|
||||
syn region srtItalics matchgroup=srtFormat start=+{i}+ end=+{/i}+ contains=@srtSpecial
|
||||
|
||||
" Strikethrough
|
||||
syn region srtStrikethrough matchgroup=srtFormat start=+<s>+ end=+</s>+ contains=@srtSpecial
|
||||
syn region srtStrikethrough matchgroup=srtFormat start=+{s}+ end=+{/s}+ contains=@srtSpecial
|
||||
|
||||
" Underline
|
||||
syn region srtUnderline matchgroup=srtFormat start=+<u>+ end=+</u>+ contains=@srtSpecial
|
||||
syn region srtUnderline matchgroup=srtFormat start=+{u}+ end=+{/u}+ contains=@srtSpecial
|
||||
|
||||
" Font
|
||||
syn region srtFont matchgroup=srtFormat start=+<font[^>]\{-}>+ end=+</font>+ contains=@srtSpecial
|
||||
|
||||
" ASS tags
|
||||
syn match srtTag /{\\[^}]\{1,}}/ contains=@NoSpell
|
||||
|
||||
" Special characters
|
||||
syn match srtEscape /\\[nNh]/ contains=@NoSpell
|
||||
|
||||
hi def link srtArrow Delimiter
|
||||
hi def link srtCoordinates Label
|
||||
hi def link srtEscape SpecialChar
|
||||
hi def link srtFormat Special
|
||||
hi def link srtNumber Number
|
||||
hi def link srtTag PreProc
|
||||
hi def link srtTime String
|
||||
|
||||
hi srtBold cterm=bold gui=bold
|
||||
hi srtItalics cterm=italic gui=italic
|
||||
hi srtStrikethrough cterm=strikethrough gui=strikethrough
|
||||
hi srtUnderline cterm=underline gui=underline
|
||||
|
||||
let b:current_syntax = 'srt'
|
||||
54
runtime/syntax/vdf.vim
Normal file
54
runtime/syntax/vdf.vim
Normal file
@@ -0,0 +1,54 @@
|
||||
" Vim syntax file
|
||||
" Language: Valve Data Format
|
||||
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
|
||||
" Filenames: *.vdf
|
||||
" Last Change: 2022 Sep 15
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" Comment
|
||||
syn keyword vdfTodo contained TODO FIXME XXX
|
||||
syn match vdfComment +//.*+ contains=vdfTodo
|
||||
|
||||
" Macro
|
||||
syn match vdfMacro /^\s*#.*/
|
||||
|
||||
" Tag
|
||||
syn region vdfTag start=/"/ skip=/\\"/ end=/"/
|
||||
\ nextgroup=vdfValue skipwhite oneline
|
||||
|
||||
" Section
|
||||
syn region vdfSection matchgroup=vdfBrace
|
||||
\ start=/{/ end=/}/ transparent fold
|
||||
\ contains=vdfTag,vdfSection,vdfComment,vdfConditional
|
||||
|
||||
" Conditional
|
||||
syn match vdfConditional /\[\$\w\{1,1021}\]/ nextgroup=vdfTag
|
||||
|
||||
" Value
|
||||
syn region vdfValue start=/"/ skip=/\\"/ end=/"/
|
||||
\ oneline contained contains=vdfVariable,vdfNumber,vdfEscape
|
||||
syn region vdfVariable start=/%/ skip=/\\%/ end=/%/ oneline contained
|
||||
syn match vdfEscape /\\[nt\\"]/ contained
|
||||
syn match vdfNumber /"-\?\d\+"/ contained
|
||||
|
||||
hi def link vdfBrace Delimiter
|
||||
hi def link vdfComment Comment
|
||||
hi def link vdfConditional Constant
|
||||
hi def link vdfEscape SpecialChar
|
||||
hi def link vdfMacro Macro
|
||||
hi def link vdfNumber Number
|
||||
hi def link vdfTag Keyword
|
||||
hi def link vdfTodo Todo
|
||||
hi def link vdfValue String
|
||||
hi def link vdfVariable Identifier
|
||||
|
||||
let b:current_syntax = 'vdf'
|
||||
|
||||
let &cpoptions = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
Reference in New Issue
Block a user