aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/query.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2026-05-20 17:33:01 -0400
committerGitHub <noreply@github.com>2026-05-20 17:33:01 -0400
commit9aa4608401384a59ea54e0ba800ce063775e8ae9 (patch)
tree6292c7eb1c09d2f0fbc055410bd8a38e58052982 /runtime/lua/vim/treesitter/query.lua
parent799cbfff855c72282a54646f3e5e1b71b0da223c (diff)
downloadrneovim-9aa4608401384a59ea54e0ba800ce063775e8ae9.tar.gz
rneovim-9aa4608401384a59ea54e0ba800ce063775e8ae9.tar.bz2
rneovim-9aa4608401384a59ea54e0ba800ce063775e8ae9.zip
refactor: introduce nvim_on internally #39883
Problem: `nvim_create_autocmd` is too verbose and its `callback` requires extra "nesting". Solution: Introduce `nvim_on`. Start using it internally. Then we can get a feel for how it should look before making it public.
Diffstat (limited to 'runtime/lua/vim/treesitter/query.lua')
-rw-r--r--runtime/lua/vim/treesitter/query.lua16
1 files changed, 10 insertions, 6 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua
index 861cefd3aa..a615d93500 100644
--- a/runtime/lua/vim/treesitter/query.lua
+++ b/runtime/lua/vim/treesitter/query.lua
@@ -2,6 +2,7 @@
--- text. See |vim.treesitter.query.parse()| for a working example.
local api = vim.api
+local nvim_on = require('vim._core.util').nvim_on
local language = require('vim.treesitter.language')
local memoize = vim.func._memoize
local cmp_ge = require('vim.treesitter._range').cmp_pos.ge
@@ -333,14 +334,17 @@ M.get = memoize('concat-2', function(lang, query_name)
return M.parse(lang, query_string)
end, false)
-api.nvim_create_autocmd('OptionSet', {
- pattern = { 'runtimepath' },
- group = api.nvim_create_augroup('nvim.treesitter.query_cache_reset', { clear = true }),
- callback = function()
+nvim_on(
+ 'OptionSet',
+ api.nvim_create_augroup('nvim.treesitter.query_cache_reset', { clear = true }),
+ {
+ pattern = { 'runtimepath' },
+ },
+ function()
--- @diagnostic disable-next-line: undefined-field LuaLS bad at generics
M.get:clear()
- end,
-})
+ end
+)
--- Parses a {query} string and returns a `Query` object (|lua-treesitter-query|), which can be used
--- to search the tree for the query patterns (via |Query:iter_captures()|, |Query:iter_matches()|),