Skip to content

Commit b697c0c

Browse files
authored
fix(treesitter): update lua parser and queries (neovim#24148)
1 parent cd64581 commit b697c0c

File tree

3 files changed

+47
-21
lines changed

3 files changed

+47
-21
lines changed

cmake.deps/deps.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ LIBICONV_SHA256 ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
4646

4747
TREESITTER_C_URL https://github.com/tree-sitter/tree-sitter-c/archive/v0.20.2.tar.gz
4848
TREESITTER_C_SHA256 af66fde03feb0df4faf03750102a0d265b007e5d957057b6b293c13116a70af2
49-
TREESITTER_LUA_URL https://github.com/MunifTanjim/tree-sitter-lua/archive/v0.0.17.tar.gz
50-
TREESITTER_LUA_SHA256 8963fd0a185d786c164dfca3824941c7eaec497ce49a3a0bc24bf753f5e0e59c
49+
TREESITTER_LUA_URL https://github.com/MunifTanjim/tree-sitter-lua/archive/v0.0.18.tar.gz
50+
TREESITTER_LUA_SHA256 659beef871a7fa1d9a02c23f5ebf55019aa3adce6d7f5441947781e128845256
5151
TREESITTER_VIM_URL https://github.com/neovim/tree-sitter-vim/archive/v0.3.0.tar.gz
5252
TREESITTER_VIM_SHA256 403acec3efb7cdb18ff3d68640fc823502a4ffcdfbb71cec3f98aa786c21cbe2
5353
TREESITTER_VIMDOC_URL https://github.com/neovim/tree-sitter-vimdoc/archive/v2.0.0.tar.gz

runtime/queries/lua/highlights.scm

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -180,13 +180,40 @@
180180

181181
(parameters (identifier) @parameter)
182182

183-
(function_call name: (identifier) @function.call)
184-
(function_declaration name: (identifier) @function)
183+
(function_declaration
184+
name: [
185+
(identifier) @function
186+
(dot_index_expression
187+
field: (identifier) @function)
188+
])
185189

186-
(function_call name: (dot_index_expression field: (identifier) @function.call))
187-
(function_declaration name: (dot_index_expression field: (identifier) @function))
190+
(function_declaration
191+
name: (method_index_expression
192+
method: (identifier) @method))
193+
194+
(assignment_statement
195+
(variable_list .
196+
name: [
197+
(identifier) @function
198+
(dot_index_expression
199+
field: (identifier) @function)
200+
])
201+
(expression_list .
202+
value: (function_definition)))
188203

189-
(method_index_expression method: (identifier) @method.call)
204+
(table_constructor
205+
(field
206+
name: (identifier) @function
207+
value: (function_definition)))
208+
209+
(function_call
210+
name: [
211+
(identifier) @function.call
212+
(dot_index_expression
213+
field: (identifier) @function.call)
214+
(method_index_expression
215+
method: (identifier) @method.call)
216+
])
190217

191218
(function_call
192219
(identifier) @function.builtin

runtime/queries/lua/injections.scm

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,33 @@
33
(identifier) @_cdef_identifier
44
(_ _ (identifier) @_cdef_identifier)
55
]
6-
arguments: (arguments (string content: _ @injection.content)))
6+
arguments:
7+
(arguments
8+
(string content: _ @injection.content)))
79
(#set! injection.language "c")
810
(#eq? @_cdef_identifier "cdef"))
911

1012
((function_call
1113
name: (_) @_vimcmd_identifier
1214
arguments: (arguments (string content: _ @injection.content)))
1315
(#set! injection.language "vim")
14-
(#any-of? @_vimcmd_identifier "vim.cmd" "vim.api.nvim_command" "vim.api.nvim_exec2" "vim.api.nvim_cmd"))
15-
16-
; vim.rcprequest(123, "nvim_exec_lua", "return vim.api.nvim_buf_get_lines(0, 0, -1, false)", false)
17-
((function_call
18-
name: (_) @_vimcmd_identifier
19-
arguments: (arguments . (_) . (string content: _ @_method) . (string content: _ @injection.content)))
20-
(#set! injection.language "lua")
21-
(#any-of? @_vimcmd_identifier "vim.rpcrequest" "vim.rpcnotify")
22-
(#eq? @_method "nvim_exec_lua"))
16+
(#any-of? @_vimcmd_identifier "vim.cmd" "vim.api.nvim_command" "vim.api.nvim_command" "vim.api.nvim_exec2"))
2317

2418
((function_call
2519
name: (_) @_vimcmd_identifier
2620
arguments: (arguments (string content: _ @injection.content) .))
2721
(#set! injection.language "query")
2822
(#any-of? @_vimcmd_identifier "vim.treesitter.query.set" "vim.treesitter.query.parse"))
2923

24+
((function_call
25+
name: (_) @_vimcmd_identifier
26+
arguments: (arguments . (_) . (string content: _ @_method) . (string content: _ @injection.content)))
27+
(#any-of? @_vimcmd_identifier "vim.rpcrequest" "vim.rpcnotify")
28+
(#eq? @_method "nvim_exec_lua")
29+
(#set! injection.language "lua"))
30+
3031
;; highlight string as query if starts with `;; query`
3132
(string content: _ @injection.content
32-
(#set! injection.language "query")
33-
(#lua-match? @injection.content "^%s*;+%s?query"))
33+
(#lua-match? @injection.content "^%s*;+%s?query")
34+
(#set! injection.language "query"))
3435

35-
; ((comment) @injection.content
36-
; (#set! injection.language "comment"))

0 commit comments

Comments
 (0)