123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- ;; Keywords
- "return" @keyword.return
- [
- "goto"
- "in"
- "local"
- ] @keyword
- (label_statement) @label
- (break_statement) @keyword
- (do_statement
- [
- "do"
- "end"
- ] @keyword)
- (while_statement
- [
- "while"
- "do"
- "end"
- ] @repeat)
- (repeat_statement
- [
- "repeat"
- "until"
- ] @repeat)
- (if_statement
- [
- "if"
- "elseif"
- "else"
- "then"
- "end"
- ] @conditional)
- (elseif_statement
- [
- "elseif"
- "then"
- "end"
- ] @conditional)
- (else_statement
- [
- "else"
- "end"
- ] @conditional)
- (for_statement
- [
- "for"
- "do"
- "end"
- ] @repeat)
- (function_declaration
- [
- "function"
- "end"
- ] @keyword.function)
- (function_definition
- [
- "function"
- "end"
- ] @keyword.function)
- ;; Operators
- [
- "and"
- "not"
- "or"
- ] @keyword.operator
- [
- "+"
- "-"
- "*"
- "/"
- "%"
- "^"
- "#"
- "=="
- "~="
- "<="
- ">="
- "<"
- ">"
- "="
- "&"
- "~"
- "|"
- "<<"
- ">>"
- "//"
- ".."
- ] @operator
- ;; Punctuations
- [
- ";"
- ":"
- ","
- "."
- ] @punctuation.delimiter
- ;; Brackets
- [
- "("
- ")"
- "["
- "]"
- "{"
- "}"
- ] @punctuation.bracket
- ;; Variables
- (identifier) @variable
- ((identifier) @variable.builtin
- (#eq? @variable.builtin "self"))
- ;; Constants
- ((identifier) @constant
- (#lua-match? @constant "^[A-Z][A-Z_0-9]*$"))
- (vararg_expression) @constant
- (nil) @constant.builtin
- [
- (false)
- (true)
- ] @boolean
- ;; Tables
- (field name: (identifier) @field)
- (dot_index_expression field: (identifier) @field)
- (table_constructor
- [
- "{"
- "}"
- ] @constructor)
- ;; Functions
- (parameters (identifier) @parameter)
- (function_call name: (identifier) @function.call)
- (function_declaration name: (identifier) @function)
- (function_call name: (dot_index_expression field: (identifier) @function.call))
- (function_declaration name: (dot_index_expression field: (identifier) @function))
- (method_index_expression method: (identifier) @method)
- (function_call
- (identifier) @function.builtin
- (#any-of? @function.builtin
- ;; built-in functions in Lua 5.1
- "assert" "collectgarbage" "dofile" "error" "getfenv" "getmetatable" "ipairs"
- "load" "loadfile" "loadstring" "module" "next" "pairs" "pcall" "print"
- "rawequal" "rawget" "rawset" "require" "select" "setfenv" "setmetatable"
- "tonumber" "tostring" "type" "unpack" "xpcall"))
- ;; Others
- (comment) @comment
- (comment) @spell
- (hash_bang_line) @comment
- (number) @number
- (string) @string
- (string) @spell
- ;; Error
- (ERROR) @error
|