aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/lua/highlights.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/lua/highlights.scm')
-rw-r--r--runtime/queries/lua/highlights.scm254
1 files changed, 140 insertions, 114 deletions
diff --git a/runtime/queries/lua/highlights.scm b/runtime/queries/lua/highlights.scm
index 96ffeae793..0b0bf35a8b 100644
--- a/runtime/queries/lua/highlights.scm
+++ b/runtime/queries/lua/highlights.scm
@@ -1,81 +1,79 @@
-;; Keywords
-
+; Keywords
"return" @keyword.return
[
- "goto"
- "in"
- "local"
+ "goto"
+ "in"
+ "local"
] @keyword
(break_statement) @keyword
(do_statement
-[
- "do"
- "end"
-] @keyword)
+ [
+ "do"
+ "end"
+ ] @keyword)
(while_statement
-[
- "while"
- "do"
- "end"
-] @repeat)
+ [
+ "while"
+ "do"
+ "end"
+ ] @keyword.repeat)
(repeat_statement
-[
- "repeat"
- "until"
-] @repeat)
+ [
+ "repeat"
+ "until"
+ ] @keyword.repeat)
(if_statement
-[
- "if"
- "elseif"
- "else"
- "then"
- "end"
-] @conditional)
+ [
+ "if"
+ "elseif"
+ "else"
+ "then"
+ "end"
+ ] @keyword.conditional)
(elseif_statement
-[
- "elseif"
- "then"
- "end"
-] @conditional)
+ [
+ "elseif"
+ "then"
+ "end"
+ ] @keyword.conditional)
(else_statement
-[
- "else"
- "end"
-] @conditional)
+ [
+ "else"
+ "end"
+ ] @keyword.conditional)
(for_statement
-[
- "for"
- "do"
- "end"
-] @repeat)
+ [
+ "for"
+ "do"
+ "end"
+ ] @keyword.repeat)
(function_declaration
-[
- "function"
- "end"
-] @keyword.function)
+ [
+ "function"
+ "end"
+ ] @keyword.function)
(function_definition
-[
- "function"
- "end"
-] @keyword.function)
-
-;; Operators
+ [
+ "function"
+ "end"
+ ] @keyword.function)
+; Operators
[
- "and"
- "not"
- "or"
+ "and"
+ "not"
+ "or"
] @keyword.operator
[
@@ -102,8 +100,7 @@
".."
] @operator
-;; Punctuations
-
+; Punctuations
[
";"
":"
@@ -112,19 +109,17 @@
"."
] @punctuation.delimiter
-;; Brackets
-
+; Brackets
[
- "("
- ")"
- "["
- "]"
- "{"
- "}"
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
] @punctuation.bracket
-;; Variables
-
+; Variables
(identifier) @variable
((identifier) @constant.builtin
@@ -133,27 +128,28 @@
((identifier) @variable.builtin
(#eq? @variable.builtin "self"))
-((identifier) @namespace.builtin
- (#any-of? @namespace.builtin "_G" "debug" "io" "jit" "math" "os" "package" "string" "table" "utf8"))
+((identifier) @module.builtin
+ (#any-of? @module.builtin "_G" "debug" "io" "jit" "math" "os" "package" "string" "table" "utf8"))
((identifier) @keyword.coroutine
(#eq? @keyword.coroutine "coroutine"))
(variable_list
- attribute: (attribute
- (["<" ">"] @punctuation.bracket
- (identifier) @attribute)))
-
-;; Labels
+ (attribute
+ "<" @punctuation.bracket
+ (identifier) @attribute
+ ">" @punctuation.bracket))
-(label_statement (identifier) @label)
+; Labels
+(label_statement
+ (identifier) @label)
-(goto_statement (identifier) @label)
-
-;; Constants
+(goto_statement
+ (identifier) @label)
+; Constants
((identifier) @constant
- (#lua-match? @constant "^[A-Z][A-Z_0-9]*$"))
+ (#lua-match? @constant "^[A-Z][A-Z_0-9]*$"))
(vararg_expression) @constant
@@ -164,41 +160,49 @@
(true)
] @boolean
-;; Tables
-
-(field name: (identifier) @field)
+; Tables
+(field
+ name: (identifier) @variable.member)
-(dot_index_expression field: (identifier) @field)
+(dot_index_expression
+ field: (identifier) @variable.member)
(table_constructor
-[
- "{"
- "}"
-] @constructor)
+ [
+ "{"
+ "}"
+ ] @constructor)
-;; Functions
+; Functions
+(parameters
+ (identifier) @variable.parameter)
-(parameters (identifier) @parameter)
-
-(function_declaration
- name: [
- (identifier) @function
- (dot_index_expression
- field: (identifier) @function)
- ])
+(vararg_expression) @variable.parameter.builtin
(function_declaration
- name: (method_index_expression
- method: (identifier) @method))
-
-(assignment_statement
- (variable_list .
- name: [
+ name:
+ [
(identifier) @function
(dot_index_expression
field: (identifier) @function)
])
- (expression_list .
+
+(function_declaration
+ name:
+ (method_index_expression
+ method: (identifier) @function.method))
+
+(assignment_statement
+ (variable_list
+ .
+ name:
+ [
+ (identifier) @function
+ (dot_index_expression
+ field: (identifier) @function)
+ ])
+ (expression_list
+ .
value: (function_definition)))
(table_constructor
@@ -207,18 +211,20 @@
value: (function_definition)))
(function_call
- name: [
- (identifier) @function.call
- (dot_index_expression
- field: (identifier) @function.call)
- (method_index_expression
- method: (identifier) @method.call)
- ])
+ name:
+ [
+ (identifier) @function.call
+ (dot_index_expression
+ field: (identifier) @function.call)
+ (method_index_expression
+ method: (identifier) @function.method.call)
+ ])
(function_call
(identifier) @function.builtin
+ ; format-ignore
(#any-of? @function.builtin
- ;; built-in functions in Lua 5.1
+ ; built-in functions in Lua 5.1
"assert" "collectgarbage" "dofile" "error" "getfenv" "getmetatable" "ipairs"
"load" "loadfile" "loadstring" "module" "next" "pairs" "pcall" "print"
"rawequal" "rawget" "rawlen" "rawset" "require" "select" "setfenv" "setmetatable"
@@ -227,8 +233,7 @@
"__idiv" "__index" "__le" "__len" "__lt" "__metatable" "__mod" "__mul" "__name" "__newindex"
"__pairs" "__pow" "__shl" "__shr" "__sub" "__tostring" "__unm"))
-;; Others
-
+; Others
(comment) @comment @spell
((comment) @comment.documentation
@@ -237,13 +242,34 @@
((comment) @comment.documentation
(#lua-match? @comment.documentation "^[-][-](%s?)@"))
-(hash_bang_line) @preproc
+(hash_bang_line) @keyword.directive
(number) @number
-(string) @string @spell
+(string) @string
(escape_sequence) @string.escape
-;; Error
-(ERROR) @error
+; string.match("123", "%d+")
+(function_call
+ (dot_index_expression
+ field: (identifier) @_method
+ (#any-of? @_method "find" "match" "gmatch" "gsub"))
+ arguments:
+ (arguments
+ .
+ (_)
+ .
+ (string
+ content: (string_content) @string.regexp)))
+
+;("123"):match("%d+")
+(function_call
+ (method_index_expression
+ method: (identifier) @_method
+ (#any-of? @_method "find" "match" "gmatch" "gsub"))
+ arguments:
+ (arguments
+ .
+ (string
+ content: (string_content) @string.regexp)))