summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/lua.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/lua.vim')
-rw-r--r--runtime/syntax/lua.vim551
1 files changed, 297 insertions, 254 deletions
diff --git a/runtime/syntax/lua.vim b/runtime/syntax/lua.vim
index 555372836f..fe97712ee4 100644
--- a/runtime/syntax/lua.vim
+++ b/runtime/syntax/lua.vim
@@ -1,254 +1,297 @@
-" Vim syntax file
-" Language: Lua 4.0 and Lua 5.0
-" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
-" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
-" Last Change: 2004 Aug 29
-" Options: lua_version = 4 or 5 [default]
-"
-" 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
-
-if !exists("lua_version")
- let lua_version = 5
-endif
-
-syn case match
-
-" Comments
-syn keyword luaTodo contained TODO FIXME XXX
-syn match luaComment "--.*$" contains=luaTodo
-if lua_version > 4
- syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
- syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
-endif
-" 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,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
-syn match luaError ")"
-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=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" if then else elseif end
-syn keyword luaCond contained else
-
-" then ... end
-syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
-
-" elseif ... then
-syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" if ... then
-syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
-
-" do ... end
-syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" repeat ... until
-syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" while ... do
-syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
-
-" for ... do and for ... in ... do
-syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
-
-" Following 'else' example. This is another item to those
-" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
-syn keyword luaRepeat contained in
-
-" other keywords
-syn keyword luaStatement return local break
-syn keyword luaOperator and or not
-syn keyword luaConstant nil
-if lua_version > 4
- syn keyword luaConstant true false
-endif
-
-" Pre processor doesn't exist since Lua 4.0
-" syn match luaPreProc "^\s*$\%(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>"
-
-" Strings
-syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
-syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
-syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
-" Nested strings
-syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
-
-" integer number
-syn match luaNumber "\<[0-9]\+\>"
-" floating point number, with dot, optional exponent
-syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
-" floating point number, starting with a dot, optional exponent
-syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
-" floating point number, without dot, with exponent
-syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>"
-
-" tables
-syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
-
-syn keyword luaFunc assert collectgarbage dofile error gcinfo next
-syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
-
-if lua_version == 4
- syn keyword luaFunc _ALERT _ERRORMESSAGE
- syn keyword luaFunc call copytagmethods dostring
- syn keyword luaFunc foreach foreachi getglobal getn
- syn keyword luaFunc gettagmethod globals newtag
- syn keyword luaFunc setglobal settag settagmethod sort
- syn keyword luaFunc tag tinsert tremove
- syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
- syn keyword luaFunc openfile closefile flush seek
- syn keyword luaFunc setlocale execute remove rename tmpname
- syn keyword luaFunc getenv date clock exit
- syn keyword luaFunc readfrom writeto appendto read write
- syn keyword luaFunc PI abs sin cos tan asin
- syn keyword luaFunc acos atan atan2 ceil floor
- syn keyword luaFunc mod frexp ldexp sqrt min max log
- syn keyword luaFunc log10 exp deg rad random
- syn keyword luaFunc randomseed strlen strsub strlower strupper
- syn keyword luaFunc strchar strrep ascii strbyte
- syn keyword luaFunc format strfind gsub
- syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook
-else
- syn keyword luaFunc _G getfenv getmetatable ipairs loadfile
- syn keyword luaFunc loadlib loadstring pairs pcall rawequal
- syn keyword luaFunc require setfenv setmetatable unpack xpcall
- syn keyword luaFunc LUA_PATH _LOADED _REQUIREDNAME
- " Not sure if all these functions need to be highlighted...
- syn match luaFunc /coroutine\.create/
- syn match luaFunc /coroutine\.resume/
- 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/
- syn match luaFunc /string\.find/
- syn match luaFunc /string\.len/
- syn match luaFunc /string\.lower/
- syn match luaFunc /string\.rep/
- syn match luaFunc /string\.sub/
- syn match luaFunc /string\.upper/
- syn match luaFunc /string\.format/
- syn match luaFunc /string\.gfind/
- syn match luaFunc /string\.gsub/
- syn match luaFunc /table\.concat/
- syn match luaFunc /table\.foreach/
- syn match luaFunc /table\.foreachi/
- syn match luaFunc /table\.getn/
- syn match luaFunc /table\.sort/
- syn match luaFunc /table\.insert/
- syn match luaFunc /table\.remove/
- syn match luaFunc /table\.setn/
- 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/
- syn match luaFunc /math\.ceil/
- syn match luaFunc /math\.cos/
- syn match luaFunc /math\.deg/
- syn match luaFunc /math\.exp/
- syn match luaFunc /math\.floor/
- syn match luaFunc /math\.log/
- syn match luaFunc /math\.log10/
- syn match luaFunc /math\.max/
- syn match luaFunc /math\.min/
- syn match luaFunc /math\.mod/
- syn match luaFunc /math\.pow/
- syn match luaFunc /math\.rad/
- syn match luaFunc /math\.sin/
- syn match luaFunc /math\.sqrt/
- syn match luaFunc /math\.tan/
- syn match luaFunc /math\.frexp/
- syn match luaFunc /math\.ldexp/
- syn match luaFunc /math\.random/
- syn match luaFunc /math\.randomseed/
- syn match luaFunc /math\.pi/
- syn match luaFunc /io\.stdin/
- syn match luaFunc /io\.stdout/
- syn match luaFunc /io\.stderr/
- syn match luaFunc /io\.close/
- syn match luaFunc /io\.flush/
- syn match luaFunc /io\.input/
- syn match luaFunc /io\.lines/
- syn match luaFunc /io\.open/
- syn match luaFunc /io\.output/
- syn match luaFunc /io\.popen/
- syn match luaFunc /io\.read/
- 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/
- syn match luaFunc /os\.execute/
- syn match luaFunc /os\.exit/
- syn match luaFunc /os\.getenv/
- syn match luaFunc /os\.remove/
- syn match luaFunc /os\.rename/
- 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/
- syn match luaFunc /debug\.getlocal/
- syn match luaFunc /debug\.getupvalue/
- syn match luaFunc /debug\.setlocal/
- syn match luaFunc /debug\.setupvalue/
- syn match luaFunc /debug\.sethook/
- syn match luaFunc /debug\.traceback/
-endif
-
-"syncing method
-syn sync minlines=100
-
-" 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_lua_syntax_inits")
- if version < 508
- let did_lua_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink luaStatement Statement
- HiLink luaRepeat Repeat
- HiLink luaString String
- HiLink luaString2 String
- HiLink luaNumber Number
- HiLink luaFloat Float
- HiLink luaOperator Operator
- HiLink luaConstant Constant
- HiLink luaCond Conditional
- HiLink luaFunction Function
- HiLink luaComment Comment
- HiLink luaTodo Todo
- HiLink luaTable Structure
- HiLink luaError Error
- HiLink luaSpecial SpecialChar
- " HiLink luaPreProc PreProc
- HiLink luaFunc Identifier
-
- delcommand HiLink
-endif
-
-let b:current_syntax = "lua"
-
-" vim: noet ts=8
+" Vim syntax file
+" Language: Lua 4.0, Lua 5.0 and Lua 5.1
+" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
+" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
+" Last Change: 2006 Apr. 19
+" Options: lua_version = 4 or 5
+" lua_subversion = 0 (4.0, 5.0) or 1 (5.1)
+" default 5.1
+
+" 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
+
+if !exists("lua_version")
+ " Default is lua 5.1
+ let lua_version = 5
+ let lua_subversion = 1
+elseif !exists("lua_subversion")
+ " lua_version exists, but lua_subversion doesn't. So, set it to 0
+ let lua_subversion = 0
+endif
+
+syn case match
+
+" syncing method
+syn sync minlines=100
+
+" Comments
+syn keyword luaTodo contained TODO FIXME XXX
+syn match luaComment "--.*$" contains=luaTodo
+if lua_version == 5 && lua_subversion == 0
+ syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
+ syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
+elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
+ " Comments in Lua 5.1: [[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
+ syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]"
+endif
+
+" 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,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
+syn match luaError ")"
+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=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" if then else elseif end
+syn keyword luaCond contained else
+
+" then ... end
+syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
+
+" elseif ... then
+syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" if ... then
+syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
+
+" do ... end
+syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" repeat ... until
+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" while ... do
+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
+
+" for ... do and for ... in ... do
+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
+
+" Following 'else' example. This is another item to those
+" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
+syn keyword luaRepeat contained in
+
+" other keywords
+syn keyword luaStatement return local break
+syn keyword luaOperator and or not
+syn keyword luaConstant nil
+if lua_version > 4
+ syn keyword luaConstant true false
+endif
+
+" Strings
+syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
+syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
+syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
+" Nested strings
+if (lua_version == 5 && lua_subversion == 0) || lua_version < 5
+ syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
+elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
+ syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]"
+endif
+
+" integer number
+syn match luaNumber "\<[0-9]\+\>"
+" floating point number, with dot, optional exponent
+syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
+" floating point number, starting with a dot, optional exponent
+syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
+" floating point number, without dot, with exponent
+syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>"
+
+" tables
+syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
+
+syn keyword luaFunc assert collectgarbage dofile error gcinfo next
+syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
+
+if lua_version == 4
+ syn keyword luaFunc _ALERT _ERRORMESSAGE
+ syn keyword luaFunc call copytagmethods dostring
+ syn keyword luaFunc foreach foreachi getglobal getn
+ syn keyword luaFunc gettagmethod globals newtag
+ syn keyword luaFunc setglobal settag settagmethod sort
+ syn keyword luaFunc tag tinsert tremove
+ syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
+ syn keyword luaFunc openfile closefile flush seek
+ syn keyword luaFunc setlocale execute remove rename tmpname
+ syn keyword luaFunc getenv date clock exit
+ syn keyword luaFunc readfrom writeto appendto read write
+ syn keyword luaFunc PI abs sin cos tan asin
+ syn keyword luaFunc acos atan atan2 ceil floor
+ syn keyword luaFunc mod frexp ldexp sqrt min max log
+ syn keyword luaFunc log10 exp deg rad random
+ syn keyword luaFunc randomseed strlen strsub strlower strupper
+ syn keyword luaFunc strchar strrep ascii strbyte
+ syn keyword luaFunc format strfind gsub
+ syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook
+elseif lua_version == 5
+ " Not sure if all these functions need to be highlighted...
+ syn keyword luaFunc _G getfenv getmetatable ipairs loadfile
+ syn keyword luaFunc loadstring pairs pcall rawequal
+ syn keyword luaFunc require setfenv setmetatable unpack xpcall
+ if lua_subversion == 0
+ syn keyword luaFunc loadlib LUA_PATH _LOADED _REQUIREDNAME
+ elseif lua_subversion == 1
+ syn keyword luaFunc load module select
+ syn match luaFunc /package\.cpath/
+ syn match luaFunc /package\.loaded/
+ syn match luaFunc /package\.loadlib/
+ syn match luaFunc /package\.path/
+ syn match luaFunc /package\.preload/
+ syn match luaFunc /package\.seeall/
+ syn match luaFunc /coroutine\.running/
+ endif
+ syn match luaFunc /coroutine\.create/
+ syn match luaFunc /coroutine\.resume/
+ 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/
+ syn match luaFunc /string\.find/
+ syn match luaFunc /string\.len/
+ syn match luaFunc /string\.lower/
+ syn match luaFunc /string\.rep/
+ syn match luaFunc /string\.sub/
+ syn match luaFunc /string\.upper/
+ syn match luaFunc /string\.format/
+ syn match luaFunc /string\.gsub/
+ if lua_subversion == 0
+ syn match luaFunc /string\.gfind/
+ elseif lua_subversion == 1
+ syn match luaFunc /string\.gmatch/
+ syn match luaFunc /string\.match/
+ syn match luaFunc /string\.reverse/
+ syn match luaFunc /table\.maxn/
+ endif
+ syn match luaFunc /table\.concat/
+ syn match luaFunc /table\.foreach/
+ syn match luaFunc /table\.foreachi/
+ syn match luaFunc /table\.getn/
+ syn match luaFunc /table\.sort/
+ syn match luaFunc /table\.insert/
+ syn match luaFunc /table\.remove/
+ syn match luaFunc /table\.setn/
+ 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/
+ syn match luaFunc /math\.ceil/
+ syn match luaFunc /math\.sin/
+ syn match luaFunc /math\.cos/
+ syn match luaFunc /math\.tan/
+ syn match luaFunc /math\.deg/
+ syn match luaFunc /math\.exp/
+ syn match luaFunc /math\.floor/
+ syn match luaFunc /math\.log/
+ syn match luaFunc /math\.log10/
+ syn match luaFunc /math\.max/
+ syn match luaFunc /math\.min/
+ if lua_subversion == 0
+ syn match luaFunc /math\.mod/
+ elseif lua_subversion == 1
+ 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/
+ 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/
+ syn match luaFunc /math\.random/
+ syn match luaFunc /math\.randomseed/
+ syn match luaFunc /math\.pi/
+ syn match luaFunc /io\.stdin/
+ syn match luaFunc /io\.stdout/
+ syn match luaFunc /io\.stderr/
+ syn match luaFunc /io\.close/
+ syn match luaFunc /io\.flush/
+ syn match luaFunc /io\.input/
+ syn match luaFunc /io\.lines/
+ syn match luaFunc /io\.open/
+ syn match luaFunc /io\.output/
+ syn match luaFunc /io\.popen/
+ syn match luaFunc /io\.read/
+ 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/
+ syn match luaFunc /os\.execute/
+ syn match luaFunc /os\.exit/
+ syn match luaFunc /os\.getenv/
+ syn match luaFunc /os\.remove/
+ syn match luaFunc /os\.rename/
+ 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/
+ syn match luaFunc /debug\.getlocal/
+ syn match luaFunc /debug\.getupvalue/
+ syn match luaFunc /debug\.setlocal/
+ syn match luaFunc /debug\.setupvalue/
+ syn match luaFunc /debug\.sethook/
+ syn match luaFunc /debug\.traceback/
+ if lua_subversion == 1
+ syn match luaFunc /debug\.getfenv/
+ syn match luaFunc /debug\.getmetatable/
+ syn match luaFunc /debug\.getregistry/
+ syn match luaFunc /debug\.setfenv/
+ syn match luaFunc /debug\.setmetatable/
+ endif
+endif
+
+" 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_lua_syntax_inits")
+ if version < 508
+ let did_lua_syntax_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink luaStatement Statement
+ HiLink luaRepeat Repeat
+ HiLink luaString String
+ HiLink luaString2 String
+ HiLink luaNumber Number
+ HiLink luaFloat Float
+ HiLink luaOperator Operator
+ HiLink luaConstant Constant
+ HiLink luaCond Conditional
+ HiLink luaFunction Function
+ HiLink luaComment Comment
+ HiLink luaTodo Todo
+ HiLink luaTable Structure
+ HiLink luaError Error
+ HiLink luaSpecial SpecialChar
+ HiLink luaFunc Identifier
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "lua"
+
+" vim: et ts=8