mirror of
https://github.com/neovim/neovim.git
synced 2025-10-26 12:27:24 +00:00
treesitter: runtime queries
Runtime queries just work like ftplugins, that is: - Queries in the `after` directory are sourced _after_ the "base" query - Otherwise, the last define query takes precedence. Queries can be found in the `queries` directory. Update runtime/lua/vim/treesitter/query.lua Co-authored-by: Paul Burlumi <paul@burlumi.com>
This commit is contained in:
@@ -25,7 +25,6 @@ describe('treesitter API', function()
|
||||
eq("Error executing lua: .../language.lua: no parser for 'borklang' language, see :help treesitter-parsers",
|
||||
pcall_err(exec_lua, "parser = vim.treesitter.inspect_language('borklang')"))
|
||||
end)
|
||||
|
||||
end)
|
||||
|
||||
describe('treesitter API with C parser', function()
|
||||
@@ -186,6 +185,16 @@ void ui_refresh(void)
|
||||
(field_expression argument: (identifier) @fieldarg)
|
||||
]]
|
||||
|
||||
it("supports runtime queries", function()
|
||||
if not check_parser() then return end
|
||||
|
||||
local ret = exec_lua [[
|
||||
return require"vim.treesitter.query".get_query("c", "highlights").captures[1]
|
||||
]]
|
||||
|
||||
eq('variable', ret)
|
||||
end)
|
||||
|
||||
it('support query and iter by capture', function()
|
||||
if not check_parser() then return end
|
||||
|
||||
@@ -422,7 +431,7 @@ static int nlua_schedule(lua_State *const lstate)
|
||||
exec_lua([[
|
||||
local highlighter = vim.treesitter.highlighter
|
||||
local query = ...
|
||||
test_hl = highlighter.new(query, 0, "c")
|
||||
test_hl = highlighter.new(0, "c", query)
|
||||
]], hl_query)
|
||||
screen:expect{grid=[[
|
||||
{2:/// Schedule Lua callback on main loop's event queue} |
|
||||
|
||||
Reference in New Issue
Block a user