mirror of
https://github.com/neovim/neovim.git
synced 2026-04-23 07:45:32 +00:00
feat(treesitter)!: deprecate top level indexes to modules (#22761)
The following top level Treesitter functions have been moved: - vim.treesitter.inspect_language() -> vim.treesitter.language.inspect() - vim.treesitter.get_query_files() -> vim.treesitter.query.get_files() - vim.treesitter.set_query() -> vim.treesitter.query.set() - vim.treesitter.query.set_query() -> vim.treesitter.query.set() - vim.treesitter.get_query() -> vim.treesitter.query.get() - vim.treesitter.query.get_query() -> vim.treesitter.query.get() - vim.treesitter.parse_query() -> vim.treesitter.query.parse() - vim.treesitter.query.parse_query() -> vim.treesitter.query.parse() - vim.treesitter.add_predicate() -> vim.treesitter.query.add_predicate() - vim.treesitter.add_directive() -> vim.treesitter.query.add_directive() - vim.treesitter.list_predicates() -> vim.treesitter.query.list_predicates() - vim.treesitter.list_directives() -> vim.treesitter.query.list_directives() - vim.treesitter.query.get_range() -> vim.treesitter.get_range() - vim.treesitter.query.get_node_text() -> vim.treesitter.get_node_text()
This commit is contained in:
@@ -376,7 +376,7 @@ describe('treesitter highlighting', function()
|
||||
|
||||
exec_lua [[
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
query = vim.treesitter.parse_query("c", "(declaration) @decl")
|
||||
query = vim.treesitter.query.parse("c", "(declaration) @decl")
|
||||
|
||||
local nodes = {}
|
||||
for _, node in query:iter_captures(parser:parse()[1]:root(), 0, 0, 19) do
|
||||
@@ -481,8 +481,8 @@ describe('treesitter highlighting', function()
|
||||
|
||||
exec_lua [[
|
||||
local injection_query = "(preproc_def (preproc_arg) @c) (preproc_function_def value: (preproc_arg) @c)"
|
||||
require('vim.treesitter.query').set_query("c", "highlights", hl_query)
|
||||
require('vim.treesitter.query').set_query("c", "injections", injection_query)
|
||||
vim.treesitter.query.set("c", "highlights", hl_query)
|
||||
vim.treesitter.query.set("c", "injections", injection_query)
|
||||
|
||||
vim.treesitter.highlighter.new(vim.treesitter.get_parser(0, "c"))
|
||||
]]
|
||||
|
||||
@@ -18,27 +18,27 @@ describe('treesitter language API', function()
|
||||
|
||||
-- actual message depends on platform
|
||||
matches("Failed to load parser for language 'borklang': uv_dlopen: .+",
|
||||
pcall_err(exec_lua, "parser = vim.treesitter.add('borklang', { path = 'borkbork.so' })"))
|
||||
pcall_err(exec_lua, "parser = vim.treesitter.language.add('borklang', { path = 'borkbork.so' })"))
|
||||
|
||||
eq(false, exec_lua("return pcall(vim.treesitter.add, 'borklang')"))
|
||||
eq(false, exec_lua("return pcall(vim.treesitter.language.add, 'borklang')"))
|
||||
|
||||
eq(false, exec_lua("return pcall(vim.treesitter.add, 'borklang', { path = 'borkbork.so' })"))
|
||||
eq(false, exec_lua("return pcall(vim.treesitter.language.add, 'borklang', { path = 'borkbork.so' })"))
|
||||
|
||||
eq(".../language.lua:0: no parser for 'borklang' language, see :help treesitter-parsers",
|
||||
pcall_err(exec_lua, "parser = vim.treesitter.inspect_language('borklang')"))
|
||||
pcall_err(exec_lua, "parser = vim.treesitter.language.inspect('borklang')"))
|
||||
|
||||
matches("Failed to load parser: uv_dlsym: .+",
|
||||
pcall_err(exec_lua, 'vim.treesitter.add("c", { symbol_name = "borklang" })'))
|
||||
pcall_err(exec_lua, 'vim.treesitter.language.add("c", { symbol_name = "borklang" })'))
|
||||
end)
|
||||
|
||||
it('shows error for invalid language name', function()
|
||||
eq(".../language.lua:0: '/foo/' is not a valid language name",
|
||||
pcall_err(exec_lua, 'vim.treesitter.add("/foo/")'))
|
||||
pcall_err(exec_lua, 'vim.treesitter.language.add("/foo/")'))
|
||||
end)
|
||||
|
||||
it('inspects language', function()
|
||||
local keys, fields, symbols = unpack(exec_lua([[
|
||||
local lang = vim.treesitter.inspect_language('c')
|
||||
local lang = vim.treesitter.language.inspect('c')
|
||||
local keys, symbols = {}, {}
|
||||
for k,_ in pairs(lang) do
|
||||
keys[k] = true
|
||||
|
||||
@@ -26,7 +26,7 @@ describe('treesitter node API', function()
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
tree = parser:parse()[1]
|
||||
root = tree:root()
|
||||
lang = vim.treesitter.inspect_language('c')
|
||||
lang = vim.treesitter.language.inspect('c')
|
||||
|
||||
function node_text(node)
|
||||
return query.get_node_text(node, 0)
|
||||
|
||||
@@ -23,7 +23,7 @@ describe('treesitter parser API', function()
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
tree = parser:parse()[1]
|
||||
root = tree:root()
|
||||
lang = vim.treesitter.inspect_language('c')
|
||||
lang = vim.treesitter.language.inspect('c')
|
||||
]])
|
||||
|
||||
eq("<tree>", exec_lua("return tostring(tree)"))
|
||||
@@ -171,7 +171,7 @@ void ui_refresh(void)
|
||||
|
||||
it("supports runtime queries", function()
|
||||
local ret = exec_lua [[
|
||||
return require"vim.treesitter.query".get_query("c", "highlights").captures[1]
|
||||
return vim.treesitter.query.get("c", "highlights").captures[1]
|
||||
]]
|
||||
|
||||
eq('variable', ret)
|
||||
@@ -184,7 +184,7 @@ void ui_refresh(void)
|
||||
local query, n = ...
|
||||
local before = vim.loop.hrtime()
|
||||
for i=1,n,1 do
|
||||
cquery = vim.treesitter.parse_query("c", ...)
|
||||
cquery = vim.treesitter.query.parse("c", ...)
|
||||
end
|
||||
local after = vim.loop.hrtime()
|
||||
return after - before
|
||||
@@ -203,7 +203,7 @@ void ui_refresh(void)
|
||||
insert(test_text)
|
||||
|
||||
local res = exec_lua([[
|
||||
cquery = vim.treesitter.parse_query("c", ...)
|
||||
cquery = vim.treesitter.query.parse("c", ...)
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
tree = parser:parse()[1]
|
||||
res = {}
|
||||
@@ -232,7 +232,7 @@ void ui_refresh(void)
|
||||
insert(test_text)
|
||||
|
||||
local res = exec_lua([[
|
||||
cquery = vim.treesitter.parse_query("c", ...)
|
||||
cquery = vim.treesitter.query.parse("c", ...)
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
tree = parser:parse()[1]
|
||||
res = {}
|
||||
@@ -326,7 +326,7 @@ end]]
|
||||
insert('char* astring = "\\n"; (1 + 1) * 2 != 2;')
|
||||
|
||||
local res = exec_lua([[
|
||||
cquery = vim.treesitter.parse_query("c", '([_] @plus (#vim-match? @plus "^\\\\+$"))'..
|
||||
cquery = vim.treesitter.query.parse("c", '([_] @plus (#vim-match? @plus "^\\\\+$"))'..
|
||||
'([_] @times (#vim-match? @times "^\\\\*$"))'..
|
||||
'([_] @paren (#vim-match? @paren "^\\\\($"))'..
|
||||
'([_] @escape (#vim-match? @escape "^\\\\\\\\n$"))'..
|
||||
@@ -376,7 +376,7 @@ end]]
|
||||
]])
|
||||
exec_lua([[
|
||||
function get_query_result(query_text)
|
||||
cquery = vim.treesitter.parse_query("c", query_text)
|
||||
cquery = vim.treesitter.query.parse("c", query_text)
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
tree = parser:parse()[1]
|
||||
res = {}
|
||||
@@ -416,7 +416,7 @@ end]]
|
||||
insert('char* astring = "Hello World!";')
|
||||
|
||||
local res = exec_lua([[
|
||||
cquery = vim.treesitter.parse_query("c", '([_] @quote (#vim-match? @quote "^\\"$")) ([_] @quote (#lua-match? @quote "^\\"$"))')
|
||||
cquery = vim.treesitter.query.parse("c", '([_] @quote (#vim-match? @quote "^\\"$")) ([_] @quote (#lua-match? @quote "^\\"$"))')
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
tree = parser:parse()[1]
|
||||
res = {}
|
||||
@@ -449,7 +449,7 @@ end]]
|
||||
local custom_query = "((identifier) @main (#is-main? @main))"
|
||||
|
||||
local res = exec_lua([[
|
||||
local query = require"vim.treesitter.query"
|
||||
local query = vim.treesitter.query
|
||||
|
||||
local function is_main(match, pattern, bufnr, predicate)
|
||||
local node = match[ predicate[2] ]
|
||||
@@ -461,7 +461,7 @@ end]]
|
||||
|
||||
query.add_predicate("is-main?", is_main)
|
||||
|
||||
local query = query.parse_query("c", ...)
|
||||
local query = query.parse("c", ...)
|
||||
|
||||
local nodes = {}
|
||||
for _, node in query:iter_captures(parser:parse()[1]:root(), 0) do
|
||||
@@ -474,7 +474,7 @@ end]]
|
||||
eq({{0, 4, 0, 8}}, res)
|
||||
|
||||
local res_list = exec_lua[[
|
||||
local query = require'vim.treesitter.query'
|
||||
local query = vim.treesitter.query
|
||||
|
||||
local list = query.list_predicates()
|
||||
|
||||
@@ -533,7 +533,7 @@ end]]
|
||||
|
||||
local res = exec_lua [[
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
query = vim.treesitter.parse_query("c", "(declaration) @decl")
|
||||
query = vim.treesitter.query.parse("c", "(declaration) @decl")
|
||||
|
||||
local nodes = {}
|
||||
for _, node in query:iter_captures(parser:parse()[1]:root(), 0) do
|
||||
@@ -581,7 +581,7 @@ end]]
|
||||
local parser = vim.treesitter.get_string_parser(str, "c")
|
||||
|
||||
local nodes = {}
|
||||
local query = vim.treesitter.parse_query("c", '((identifier) @id (eq? @id "foo"))')
|
||||
local query = vim.treesitter.query.parse("c", '((identifier) @id (eq? @id "foo"))')
|
||||
|
||||
for _, node in query:iter_captures(parser:parse()[1]:root(), str) do
|
||||
table.insert(nodes, { node:range() })
|
||||
@@ -603,7 +603,7 @@ end]]
|
||||
local parser = vim.treesitter.get_string_parser(str, "c")
|
||||
|
||||
local nodes = {}
|
||||
local query = vim.treesitter.parse_query("c", '((identifier) @foo)')
|
||||
local query = vim.treesitter.query.parse("c", '((identifier) @foo)')
|
||||
local first_child = parser:parse()[1]:root():child(1)
|
||||
|
||||
for _, node in query:iter_captures(first_child, str) do
|
||||
@@ -703,7 +703,7 @@ int x = INT_MAX;
|
||||
describe("when providing parsing information through a directive", function()
|
||||
it("should inject a language", function()
|
||||
exec_lua([=[
|
||||
vim.treesitter.add_directive("inject-clang!", function(match, _, _, pred, metadata)
|
||||
vim.treesitter.query.add_directive("inject-clang!", function(match, _, _, pred, metadata)
|
||||
metadata.language = "c"
|
||||
metadata.combined = true
|
||||
metadata.content = pred[2]
|
||||
@@ -741,7 +741,7 @@ int x = INT_MAX;
|
||||
|
||||
it("should not inject bad languages", function()
|
||||
exec_lua([=[
|
||||
vim.treesitter.add_directive("inject-bad!", function(match, _, _, pred, metadata)
|
||||
vim.treesitter.query.add_directive("inject-bad!", function(match, _, _, pred, metadata)
|
||||
metadata.language = "{"
|
||||
metadata.combined = true
|
||||
metadata.content = pred[2]
|
||||
@@ -774,7 +774,7 @@ int x = INT_MAX;
|
||||
end)
|
||||
it("should list all directives", function()
|
||||
local res_list = exec_lua[[
|
||||
local query = require'vim.treesitter.query'
|
||||
local query = vim.treesitter.query
|
||||
|
||||
local list = query.list_directives()
|
||||
|
||||
@@ -820,7 +820,7 @@ int x = INT_MAX;
|
||||
local result = exec_lua([[
|
||||
local result
|
||||
|
||||
query = vim.treesitter.parse_query("c", '((number_literal) @number (#set! "key" "value"))')
|
||||
query = vim.treesitter.query.parse("c", '((number_literal) @number (#set! "key" "value"))')
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
|
||||
for pattern, match, metadata in query:iter_matches(parser:parse()[1]:root(), 0) do
|
||||
@@ -840,10 +840,10 @@ int x = INT_MAX;
|
||||
]])
|
||||
|
||||
local result = exec_lua([[
|
||||
local query = require("vim.treesitter.query")
|
||||
local query = vim.treesitter.query
|
||||
local value
|
||||
|
||||
query = vim.treesitter.parse_query("c", '((number_literal) @number (#set! @number "key" "value"))')
|
||||
query = vim.treesitter.query.parse("c", '((number_literal) @number (#set! @number "key" "value"))')
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
|
||||
for pattern, match, metadata in query:iter_matches(parser:parse()[1]:root(), 0) do
|
||||
@@ -862,10 +862,10 @@ int x = INT_MAX;
|
||||
]])
|
||||
|
||||
local result = exec_lua([[
|
||||
local query = require("vim.treesitter.query")
|
||||
local query = vim.treesitter.query
|
||||
local result
|
||||
|
||||
query = vim.treesitter.parse_query("c", '((number_literal) @number (#set! @number "key" "value") (#set! @number "key2" "value2"))')
|
||||
query = vim.treesitter.query.parse("c", '((number_literal) @number (#set! @number "key" "value") (#set! @number "key2" "value2"))')
|
||||
parser = vim.treesitter.get_parser(0, "c")
|
||||
|
||||
for pattern, match, metadata in query:iter_matches(parser:parse()[1]:root(), 0) do
|
||||
|
||||
Reference in New Issue
Block a user