Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions grammar.js
Original file line number Diff line number Diff line change
Expand Up @@ -244,13 +244,13 @@ module.exports = grammar({
seq(
field('table', $._function_name_prefix_expression),
'.',
field('field', $.identifier)
field('field', alias($.identifier, $.member_identifier))
),
_function_name_method_index_expression: ($) =>
seq(
field('table', $._function_name_prefix_expression),
':',
field('method', $.identifier)
field('method', alias($.identifier, $.member_identifier))
),

// local namelist ['=' explist]
Expand Down Expand Up @@ -456,7 +456,7 @@ module.exports = grammar({
seq(
field('table', $._prefix_expression),
'.',
field('field', $.identifier)
field('field', alias($.identifier, $.member_identifier))
),

// functioncall ::= prefixexp args | prefixexp ':' Name args
Expand All @@ -470,7 +470,7 @@ module.exports = grammar({
seq(
field('table', $._prefix_expression),
':',
field('method', $.identifier)
field('method', alias($.identifier, $.member_identifier))
),
// args ::= '(' [explist] ')' | tableconstructor | LiteralString
arguments: ($) =>
Expand Down Expand Up @@ -499,7 +499,11 @@ module.exports = grammar({
'=',
field('value', $.expression)
),
seq(field('name', $.identifier), '=', field('value', $.expression)),
seq(
field('name', alias($.identifier, $.member_identifier)),
'=',
field('value', $.expression),
),
field('value', $.expression)
),

Expand Down
31 changes: 14 additions & 17 deletions queries/highlights.scm
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,7 @@

;; Tables

(field name: (identifier) @field)

(dot_index_expression field: (identifier) @field)
(member_identifier) @field

(table_constructor
[
Expand All @@ -151,45 +149,44 @@
name: [
(identifier) @function
(dot_index_expression
field: (identifier) @function)
field: (member_identifier) @function)
])

(function_declaration
name: (method_index_expression
method: (identifier) @method))
method: (member_identifier) @method))

(assignment_statement
(variable_list .
name: [
(identifier) @function
(dot_index_expression
field: (identifier) @function)
field: (member_identifier) @function)
])
(expression_list .
value: (function_definition)))

(table_constructor
(field
name: (identifier) @function
name: (member_identifier) @function
value: (function_definition)))

(function_call
name: [
(identifier) @function.call
(dot_index_expression
field: (identifier) @function.call)
field: (member_identifier) @function.call)
(method_index_expression
method: (identifier) @method.call)
method: (member_identifier) @method.call)
])

(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"))
((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

Expand Down
12 changes: 6 additions & 6 deletions queries/tags.scm
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,33 @@
name: [
(identifier) @name
(dot_index_expression
field: (identifier) @name)
field: (member_identifier) @name)
]) @definition.function

(function_declaration
name: (method_index_expression
method: (identifier) @name)) @definition.method
method: (member_identifier) @name)) @definition.method

(assignment_statement
(variable_list .
name: [
(identifier) @name
(dot_index_expression
field: (identifier) @name)
field: (member_identifier) @name)
])
(expression_list .
value: (function_definition))) @definition.function

(table_constructor
(field
name: (identifier) @name
name: (member_identifier) @name
value: (function_definition))) @definition.function

(function_call
name: [
(identifier) @name
(dot_index_expression
field: (identifier) @name)
field: (member_identifier) @name)
(method_index_expression
method: (identifier) @name)
method: (member_identifier) @name)
]) @reference.call
45 changes: 35 additions & 10 deletions src/grammar.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 7 additions & 3 deletions src/node-types.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading