" 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
