Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 1 | " Vim syntax file |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 2 | " Language: Lua 4.0, Lua 5.0, Lua 5.1 and Lua 5.2 |
| 3 | " Maintainer: Marcus Aurelius Farias <masserahguard-lua 'at' yahoo com> |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 4 | " First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br> |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 5 | " Last Change: 2012 Aug 12 |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 6 | " Options: lua_version = 4 or 5 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 7 | " lua_subversion = 0 (4.0, 5.0) or 1 (5.1) or 2 (5.2) |
| 8 | " default 5.2 |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 9 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 10 | " quit when a syntax file was already loaded |
| 11 | if exists("b:current_syntax") |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 12 | finish |
| 13 | endif |
| 14 | |
Bram Moolenaar | 5dc6252 | 2012-02-13 00:05:22 +0100 | [diff] [blame] | 15 | let s:cpo_save = &cpo |
| 16 | set cpo&vim |
| 17 | |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 18 | if !exists("lua_version") |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 19 | " Default is lua 5.2 |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 20 | let lua_version = 5 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 21 | let lua_subversion = 2 |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 22 | elseif !exists("lua_subversion") |
| 23 | " lua_version exists, but lua_subversion doesn't. So, set it to 0 |
| 24 | let lua_subversion = 0 |
| 25 | endif |
| 26 | |
| 27 | syn case match |
| 28 | |
| 29 | " syncing method |
| 30 | syn sync minlines=100 |
| 31 | |
| 32 | " Comments |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 33 | syn keyword luaTodo contained TODO FIXME XXX |
| 34 | syn match luaComment "--.*$" contains=luaTodo,@Spell |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 35 | if lua_version == 5 && lua_subversion == 0 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 36 | syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment,@Spell |
| 37 | syn region luaInnerComment contained transparent start="\[\[" end="\]\]" |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 38 | elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1) |
| 39 | " Comments in Lua 5.1: --[[ ... ]], [=[ ... ]=], [===[ ... ]===], etc. |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 40 | syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]" contains=luaTodo,@Spell |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 41 | endif |
| 42 | |
| 43 | " First line may start with #! |
| 44 | syn match luaComment "\%^#!.*" |
| 45 | |
| 46 | " catch errors caused by wrong parenthesis and wrong curly brackets or |
| 47 | " keywords placed outside their respective blocks |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 48 | syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaParenError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement |
| 49 | syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaBraceError,luaTodo,luaSpecial,luaIfThen,luaElseifThen,luaElse,luaThenEnd,luaBlock,luaLoopBlock,luaIn,luaStatement |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 50 | |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 51 | syn match luaParenError ")" |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 52 | syn match luaBraceError "}" |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 53 | syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>" |
| 54 | |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 55 | " function ... end |
| 56 | syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 57 | |
| 58 | " if ... then |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 59 | syn region luaIfThen transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaIn nextgroup=luaThenEnd skipwhite skipempty |
| 60 | |
| 61 | " then ... end |
| 62 | syn region luaThenEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaThenEnd,luaIn |
| 63 | |
| 64 | " elseif ... then |
| 65 | syn region luaElseifThen contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn |
| 66 | |
| 67 | " else |
| 68 | syn keyword luaElse contained else |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 69 | |
| 70 | " do ... end |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 71 | syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn |
| 72 | |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 73 | " repeat ... until |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 74 | syn region luaLoopBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaElseifThen,luaElse,luaThenEnd,luaIn |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 75 | |
| 76 | " while ... do |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 77 | 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 |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 78 | |
| 79 | " for ... do and for ... in ... do |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 80 | 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 |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 81 | |
Bram Moolenaar | 9b45125 | 2012-08-15 17:43:31 +0200 | [diff] [blame] | 82 | syn keyword luaIn contained in |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 83 | |
| 84 | " other keywords |
| 85 | syn keyword luaStatement return local break |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 86 | if lua_version > 5 || (lua_version == 5 && lua_subversion >= 2) |
| 87 | syn keyword luaStatement goto |
| 88 | syn match luaLabel "::\I\i*::" |
| 89 | endif |
| 90 | syn keyword luaOperator and or not |
| 91 | syn keyword luaConstant nil |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 92 | if lua_version > 4 |
| 93 | syn keyword luaConstant true false |
| 94 | endif |
| 95 | |
| 96 | " Strings |
| 97 | if lua_version < 5 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 98 | syn match luaSpecial contained "\\[\\abfnrtv\'\"]\|\\[[:digit:]]\{,3}" |
| 99 | elseif lua_version == 5 |
| 100 | if lua_subversion == 0 |
| 101 | syn match luaSpecial contained #\\[\\abfnrtv'"[\]]\|\\[[:digit:]]\{,3}# |
| 102 | syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2,@Spell |
| 103 | else |
| 104 | if lua_subversion == 1 |
| 105 | syn match luaSpecial contained #\\[\\abfnrtv'"]\|\\[[:digit:]]\{,3}# |
| 106 | else " Lua 5.2 |
| 107 | syn match luaSpecial contained #\\[\\abfnrtvz'"]\|\\x[[:xdigit:]]\{2}\|\\[[:digit:]]\{,3}# |
| 108 | endif |
| 109 | syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]" contains=@Spell |
| 110 | endif |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 111 | endif |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 112 | syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial,@Spell |
| 113 | syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial,@Spell |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 114 | |
| 115 | " integer number |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 116 | syn match luaNumber "\<\d\+\>" |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 117 | " floating point number, with dot, optional exponent |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 118 | syn match luaNumber "\<\d\+\.\d*\%([eE][-+]\=\d\+\)\=\>" |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 119 | " floating point number, starting with a dot, optional exponent |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 120 | syn match luaNumber "\.\d\+\%([eE][-+]\=\d\+\)\=\>" |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 121 | " floating point number, without dot, with exponent |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 122 | syn match luaNumber "\<\d\+[eE][-+]\=\d\+\>" |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 123 | |
| 124 | " hex numbers |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 125 | if lua_version >= 5 |
| 126 | if lua_subversion == 1 |
| 127 | syn match luaNumber "\<0[xX]\x\+\>" |
| 128 | elseif lua_subversion >= 2 |
| 129 | syn match luaNumber "\<0[xX][[:xdigit:].]\+\%([pP][-+]\=\d\+\)\=\>" |
| 130 | endif |
Bram Moolenaar | 9964e46 | 2007-05-05 17:54:07 +0000 | [diff] [blame] | 131 | endif |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 132 | |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 133 | syn keyword luaFunc assert collectgarbage dofile error next |
| 134 | syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION |
| 135 | |
| 136 | if lua_version == 4 |
| 137 | syn keyword luaFunc _ALERT _ERRORMESSAGE gcinfo |
| 138 | syn keyword luaFunc call copytagmethods dostring |
| 139 | syn keyword luaFunc foreach foreachi getglobal getn |
| 140 | syn keyword luaFunc gettagmethod globals newtag |
| 141 | syn keyword luaFunc setglobal settag settagmethod sort |
| 142 | syn keyword luaFunc tag tinsert tremove |
| 143 | syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR |
| 144 | syn keyword luaFunc openfile closefile flush seek |
| 145 | syn keyword luaFunc setlocale execute remove rename tmpname |
| 146 | syn keyword luaFunc getenv date clock exit |
| 147 | syn keyword luaFunc readfrom writeto appendto read write |
| 148 | syn keyword luaFunc PI abs sin cos tan asin |
| 149 | syn keyword luaFunc acos atan atan2 ceil floor |
| 150 | syn keyword luaFunc mod frexp ldexp sqrt min max log |
| 151 | syn keyword luaFunc log10 exp deg rad random |
| 152 | syn keyword luaFunc randomseed strlen strsub strlower strupper |
| 153 | syn keyword luaFunc strchar strrep ascii strbyte |
| 154 | syn keyword luaFunc format strfind gsub |
| 155 | syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook |
| 156 | elseif lua_version == 5 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 157 | syn keyword luaFunc getmetatable setmetatable |
| 158 | syn keyword luaFunc ipairs pairs |
| 159 | syn keyword luaFunc pcall xpcall |
| 160 | syn keyword luaFunc _G loadfile rawequal require |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 161 | if lua_subversion == 0 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 162 | syn keyword luaFunc getfenv setfenv |
| 163 | syn keyword luaFunc loadstring unpack |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 164 | syn keyword luaFunc gcinfo loadlib LUA_PATH _LOADED _REQUIREDNAME |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 165 | else |
| 166 | syn keyword luaFunc load select |
| 167 | syn match luaFunc /\<package\.cpath\>/ |
| 168 | syn match luaFunc /\<package\.loaded\>/ |
| 169 | syn match luaFunc /\<package\.loadlib\>/ |
| 170 | syn match luaFunc /\<package\.path\>/ |
| 171 | if lua_subversion == 1 |
| 172 | syn keyword luaFunc getfenv setfenv |
| 173 | syn keyword luaFunc loadstring module unpack |
| 174 | syn match luaFunc /\<package\.loaders\>/ |
| 175 | syn match luaFunc /\<package\.preload\>/ |
| 176 | syn match luaFunc /\<package\.seeall\>/ |
| 177 | elseif lua_subversion == 2 |
| 178 | syn keyword luaFunc _ENV rawlen |
| 179 | syn match luaFunc /\<package\.config\>/ |
| 180 | syn match luaFunc /\<package\.preload\>/ |
| 181 | syn match luaFunc /\<package\.searchers\>/ |
| 182 | syn match luaFunc /\<package\.searchpath\>/ |
| 183 | syn match luaFunc /\<bit32\.arshift\>/ |
| 184 | syn match luaFunc /\<bit32\.band\>/ |
| 185 | syn match luaFunc /\<bit32\.bnot\>/ |
| 186 | syn match luaFunc /\<bit32\.bor\>/ |
| 187 | syn match luaFunc /\<bit32\.btest\>/ |
| 188 | syn match luaFunc /\<bit32\.bxor\>/ |
| 189 | syn match luaFunc /\<bit32\.extract\>/ |
| 190 | syn match luaFunc /\<bit32\.lrotate\>/ |
| 191 | syn match luaFunc /\<bit32\.lshift\>/ |
| 192 | syn match luaFunc /\<bit32\.replace\>/ |
| 193 | syn match luaFunc /\<bit32\.rrotate\>/ |
| 194 | syn match luaFunc /\<bit32\.rshift\>/ |
| 195 | endif |
| 196 | syn match luaFunc /\<coroutine\.running\>/ |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 197 | endif |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 198 | syn match luaFunc /\<coroutine\.create\>/ |
| 199 | syn match luaFunc /\<coroutine\.resume\>/ |
| 200 | syn match luaFunc /\<coroutine\.status\>/ |
| 201 | syn match luaFunc /\<coroutine\.wrap\>/ |
| 202 | syn match luaFunc /\<coroutine\.yield\>/ |
| 203 | syn match luaFunc /\<string\.byte\>/ |
| 204 | syn match luaFunc /\<string\.char\>/ |
| 205 | syn match luaFunc /\<string\.dump\>/ |
| 206 | syn match luaFunc /\<string\.find\>/ |
| 207 | syn match luaFunc /\<string\.format\>/ |
| 208 | syn match luaFunc /\<string\.gsub\>/ |
| 209 | syn match luaFunc /\<string\.len\>/ |
| 210 | syn match luaFunc /\<string\.lower\>/ |
| 211 | syn match luaFunc /\<string\.rep\>/ |
| 212 | syn match luaFunc /\<string\.sub\>/ |
| 213 | syn match luaFunc /\<string\.upper\>/ |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 214 | if lua_subversion == 0 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 215 | syn match luaFunc /\<string\.gfind\>/ |
| 216 | else |
| 217 | syn match luaFunc /\<string\.gmatch\>/ |
| 218 | syn match luaFunc /\<string\.match\>/ |
| 219 | syn match luaFunc /\<string\.reverse\>/ |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 220 | endif |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 221 | if lua_subversion == 0 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 222 | syn match luaFunc /\<table\.getn\>/ |
| 223 | syn match luaFunc /\<table\.setn\>/ |
| 224 | syn match luaFunc /\<table\.foreach\>/ |
| 225 | syn match luaFunc /\<table\.foreachi\>/ |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 226 | elseif lua_subversion == 1 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 227 | syn match luaFunc /\<table\.maxn\>/ |
| 228 | elseif lua_subversion == 2 |
| 229 | syn match luaFunc /\<table\.pack\>/ |
| 230 | syn match luaFunc /\<table\.unpack\>/ |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 231 | endif |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 232 | syn match luaFunc /\<table\.concat\>/ |
| 233 | syn match luaFunc /\<table\.sort\>/ |
| 234 | syn match luaFunc /\<table\.insert\>/ |
| 235 | syn match luaFunc /\<table\.remove\>/ |
| 236 | syn match luaFunc /\<math\.abs\>/ |
| 237 | syn match luaFunc /\<math\.acos\>/ |
| 238 | syn match luaFunc /\<math\.asin\>/ |
| 239 | syn match luaFunc /\<math\.atan\>/ |
| 240 | syn match luaFunc /\<math\.atan2\>/ |
| 241 | syn match luaFunc /\<math\.ceil\>/ |
| 242 | syn match luaFunc /\<math\.sin\>/ |
| 243 | syn match luaFunc /\<math\.cos\>/ |
| 244 | syn match luaFunc /\<math\.tan\>/ |
| 245 | syn match luaFunc /\<math\.deg\>/ |
| 246 | syn match luaFunc /\<math\.exp\>/ |
| 247 | syn match luaFunc /\<math\.floor\>/ |
| 248 | syn match luaFunc /\<math\.log\>/ |
| 249 | syn match luaFunc /\<math\.max\>/ |
| 250 | syn match luaFunc /\<math\.min\>/ |
| 251 | if lua_subversion == 0 |
| 252 | syn match luaFunc /\<math\.mod\>/ |
| 253 | syn match luaFunc /\<math\.log10\>/ |
| 254 | else |
| 255 | if lua_subversion == 1 |
| 256 | syn match luaFunc /\<math\.log10\>/ |
| 257 | endif |
| 258 | syn match luaFunc /\<math\.huge\>/ |
| 259 | syn match luaFunc /\<math\.fmod\>/ |
| 260 | syn match luaFunc /\<math\.modf\>/ |
| 261 | syn match luaFunc /\<math\.cosh\>/ |
| 262 | syn match luaFunc /\<math\.sinh\>/ |
| 263 | syn match luaFunc /\<math\.tanh\>/ |
| 264 | endif |
| 265 | syn match luaFunc /\<math\.pow\>/ |
| 266 | syn match luaFunc /\<math\.rad\>/ |
| 267 | syn match luaFunc /\<math\.sqrt\>/ |
| 268 | syn match luaFunc /\<math\.frexp\>/ |
| 269 | syn match luaFunc /\<math\.ldexp\>/ |
| 270 | syn match luaFunc /\<math\.random\>/ |
| 271 | syn match luaFunc /\<math\.randomseed\>/ |
| 272 | syn match luaFunc /\<math\.pi\>/ |
| 273 | syn match luaFunc /\<io\.close\>/ |
| 274 | syn match luaFunc /\<io\.flush\>/ |
| 275 | syn match luaFunc /\<io\.input\>/ |
| 276 | syn match luaFunc /\<io\.lines\>/ |
| 277 | syn match luaFunc /\<io\.open\>/ |
| 278 | syn match luaFunc /\<io\.output\>/ |
| 279 | syn match luaFunc /\<io\.popen\>/ |
| 280 | syn match luaFunc /\<io\.read\>/ |
| 281 | syn match luaFunc /\<io\.stderr\>/ |
| 282 | syn match luaFunc /\<io\.stdin\>/ |
| 283 | syn match luaFunc /\<io\.stdout\>/ |
| 284 | syn match luaFunc /\<io\.tmpfile\>/ |
| 285 | syn match luaFunc /\<io\.type\>/ |
| 286 | syn match luaFunc /\<io\.write\>/ |
| 287 | syn match luaFunc /\<os\.clock\>/ |
| 288 | syn match luaFunc /\<os\.date\>/ |
| 289 | syn match luaFunc /\<os\.difftime\>/ |
| 290 | syn match luaFunc /\<os\.execute\>/ |
| 291 | syn match luaFunc /\<os\.exit\>/ |
| 292 | syn match luaFunc /\<os\.getenv\>/ |
| 293 | syn match luaFunc /\<os\.remove\>/ |
| 294 | syn match luaFunc /\<os\.rename\>/ |
| 295 | syn match luaFunc /\<os\.setlocale\>/ |
| 296 | syn match luaFunc /\<os\.time\>/ |
| 297 | syn match luaFunc /\<os\.tmpname\>/ |
| 298 | syn match luaFunc /\<debug\.debug\>/ |
| 299 | syn match luaFunc /\<debug\.gethook\>/ |
| 300 | syn match luaFunc /\<debug\.getinfo\>/ |
| 301 | syn match luaFunc /\<debug\.getlocal\>/ |
| 302 | syn match luaFunc /\<debug\.getupvalue\>/ |
| 303 | syn match luaFunc /\<debug\.setlocal\>/ |
| 304 | syn match luaFunc /\<debug\.setupvalue\>/ |
| 305 | syn match luaFunc /\<debug\.sethook\>/ |
| 306 | syn match luaFunc /\<debug\.traceback\>/ |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 307 | if lua_subversion == 1 |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 308 | syn match luaFunc /\<debug\.getfenv\>/ |
| 309 | syn match luaFunc /\<debug\.setfenv\>/ |
| 310 | syn match luaFunc /\<debug\.getmetatable\>/ |
| 311 | syn match luaFunc /\<debug\.setmetatable\>/ |
| 312 | syn match luaFunc /\<debug\.getregistry\>/ |
| 313 | elseif lua_subversion == 2 |
| 314 | syn match luaFunc /\<debug\.getmetatable\>/ |
| 315 | syn match luaFunc /\<debug\.setmetatable\>/ |
| 316 | syn match luaFunc /\<debug\.getregistry\>/ |
| 317 | syn match luaFunc /\<debug\.getuservalue\>/ |
| 318 | syn match luaFunc /\<debug\.setuservalue\>/ |
| 319 | syn match luaFunc /\<debug\.upvalueid\>/ |
| 320 | syn match luaFunc /\<debug\.upvaluejoin\>/ |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 321 | endif |
| 322 | endif |
| 323 | |
| 324 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 325 | " Only when an item doesn't have highlighting yet |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 326 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 327 | hi def link luaStatement Statement |
| 328 | hi def link luaRepeat Repeat |
| 329 | hi def link luaFor Repeat |
| 330 | hi def link luaString String |
| 331 | hi def link luaString2 String |
| 332 | hi def link luaNumber Number |
| 333 | hi def link luaOperator Operator |
| 334 | hi def link luaIn Operator |
| 335 | hi def link luaConstant Constant |
| 336 | hi def link luaCond Conditional |
| 337 | hi def link luaElse Conditional |
| 338 | hi def link luaFunction Function |
| 339 | hi def link luaComment Comment |
| 340 | hi def link luaTodo Todo |
| 341 | hi def link luaTable Structure |
| 342 | hi def link luaError Error |
| 343 | hi def link luaParenError Error |
| 344 | hi def link luaBraceError Error |
| 345 | hi def link luaSpecial SpecialChar |
| 346 | hi def link luaFunc Identifier |
| 347 | hi def link luaLabel Label |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 348 | |
Bram Moolenaar | fc1421e | 2006-04-20 22:17:20 +0000 | [diff] [blame] | 349 | |
| 350 | let b:current_syntax = "lua" |
| 351 | |
Bram Moolenaar | 5dc6252 | 2012-02-13 00:05:22 +0100 | [diff] [blame] | 352 | let &cpo = s:cpo_save |
| 353 | unlet s:cpo_save |
Bram Moolenaar | b6b046b | 2011-12-30 13:11:27 +0100 | [diff] [blame] | 354 | " vim: et ts=8 sw=2 |