Skip to content

Commit

Permalink
fixup!
Browse files Browse the repository at this point in the history
  • Loading branch information
lewis6991 committed Mar 23, 2023
1 parent 7ac78bc commit b3ade33
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 47 deletions.
4 changes: 2 additions & 2 deletions runtime/doc/treesitter.txt
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ get_node_text({node}, {source}, {opts})
{opts} (table|nil) Optional parameters.
• metadata (table) Metadata of a specific capture. This
would be set to `metadata[capture_id]` when using
|vim.treesitter.add_directive()|.
|vim.treesitter.query.add_directive()|.

Return: ~
(string)
Expand Down Expand Up @@ -805,7 +805,7 @@ add_predicate({name}, {handler}, {force})
{name} (string) Name of the predicate, without leading #
{handler} function(match:table<string,|TSNode|>, pattern:string,
bufnr:integer, predicate:string[])
• see |vim.treesitter.add_directive()| for argument
• see |vim.treesitter.query.add_directive()| for argument
meanings
{force} (boolean|nil)

Expand Down
2 changes: 1 addition & 1 deletion runtime/lua/vim/treesitter.lua
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ end
---@param source (integer|string) Buffer or string from which the {node} is extracted
---@param opts (table|nil) Optional parameters.
--- - metadata (table) Metadata of a specific capture. This would be
--- set to `metadata[capture_id]` when using |vim.treesitter.add_directive()|.
--- set to `metadata[capture_id]` when using |vim.treesitter.query.add_directive()|.
---@return string
function M.get_node_text(node, source, opts)
opts = opts or {}
Expand Down
6 changes: 3 additions & 3 deletions runtime/lua/vim/treesitter/highlighter.lua
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
local a = vim.api
local query = require('vim.treesitter.query')
local query = vim.treesitter.query

---@alias TSHlIter fun(): integer, TSNode, TSMetadata

Expand Down Expand Up @@ -45,9 +45,9 @@ function TSHighlighterQuery.new(lang, query_string)
})

if query_string then
self._query = query.parse_query(lang, query_string)
self._query = query.parse(lang, query_string)
else
self._query = query.get_query(lang, 'highlights')
self._query = query.get(lang, 'highlights')
end

return self
Expand Down
14 changes: 7 additions & 7 deletions runtime/lua/vim/treesitter/languagetree.lua
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@ function LanguageTree.new(source, lang, opts)
_regions = {},
_trees = {},
_opts = opts,
_injection_query = injections[lang] and query.parse_query(lang, injections[lang])
or query.get_query(lang, 'injections'),
_injection_query = injections[lang] and query.parse(lang, injections[lang])
or query.get(lang, 'injections'),
_valid = false,
_parser = vim._create_ts_parser(lang),
_callbacks = {
Expand Down Expand Up @@ -482,7 +482,7 @@ end
---@param metadata TSMetadata
---@return Range6[]
local function get_node_ranges(node, source, metadata, include_children)
local range = query.get_range(node, source, metadata)
local range = vim.treesitter.get_range(node, source, metadata)

if include_children then
return { range }
Expand Down Expand Up @@ -562,7 +562,7 @@ function LanguageTree:_get_injection(match, metadata)

-- Lang should override any other language tag
if name == 'injection.language' then
lang = query.get_node_text(node, self._source, { metadata = metadata[id] })
lang = vim.treesitter.get_node_text(node, self._source, { metadata = metadata[id] })
elseif name == 'injection.content' then
ranges = get_node_ranges(node, self._source, metadata[id], include_children)
end
Expand Down Expand Up @@ -609,11 +609,11 @@ function LanguageTree:_get_injection_deprecated(match, metadata)

-- Lang should override any other language tag
if name == 'language' and not lang then
lang = query.get_node_text(node, self._source, { metadata = metadata[id] })
lang = vim.treesitter.get_node_text(node, self._source, { metadata = metadata[id] })
elseif name == 'combined' then
combined = true
elseif name == 'content' and #ranges == 0 then
ranges[#ranges + 1] = query.get_range(node, self._source, metadata[id])
ranges[#ranges + 1] = vim.treesitter.get_range(node, self._source, metadata[id])
-- Ignore any tags that start with "_"
-- Allows for other tags to be used in matches
elseif string.sub(name, 1, 1) ~= '_' then
Expand All @@ -622,7 +622,7 @@ function LanguageTree:_get_injection_deprecated(match, metadata)
end

if #ranges == 0 then
ranges[#ranges + 1] = query.get_range(node, self._source, metadata[id])
ranges[#ranges + 1] = vim.treesitter.get_range(node, self._source, metadata[id])
end
end
end
Expand Down
5 changes: 2 additions & 3 deletions runtime/lua/vim/treesitter/query.lua
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ local function read_query_files(filenames)
return table.concat(contents, '')
end

-- The explicitly set queries from |vim.treesitter.query.set_query()|
-- The explicitly set queries from |vim.treesitter.query.set()|
---@type table<string,table<string,Query>>
local explicit_queries = setmetatable({}, {
__index = function(t, k)
Expand Down Expand Up @@ -191,7 +191,6 @@ end
---@param query_name string Name of the query (e.g., "highlights")
---@param text string Query text (unparsed).
function M.set(lang, query_name, text)
vim.deprecate('vim.treesitter.get_query()', 'vim.treesitter.query.get()', '0.10')
explicit_queries[lang][query_name] = M.parse(lang, text)
end

Expand Down Expand Up @@ -477,7 +476,7 @@ local directive_handlers = {
---
---@param name string Name of the predicate, without leading #
---@param handler function(match:table<string,TSNode>, pattern:string, bufnr:integer, predicate:string[])
--- - see |vim.treesitter.add_directive()| for argument meanings
--- - see |vim.treesitter.query.add_directive()| for argument meanings
---@param force boolean|nil
function M.add_predicate(name, handler, force)
if predicate_handlers[name] and not force then
Expand Down
6 changes: 3 additions & 3 deletions test/functional/treesitter/highlight_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"))
]]
Expand Down
14 changes: 7 additions & 7 deletions test/functional/treesitter/language_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion test/functional/treesitter/node_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
40 changes: 20 additions & 20 deletions test/functional/treesitter/parser_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -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)"))
Expand Down Expand Up @@ -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)
Expand All @@ -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
Expand All @@ -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 = {}
Expand Down Expand Up @@ -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 = {}
Expand Down Expand Up @@ -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$"))'..
Expand Down Expand Up @@ -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 = {}
Expand Down Expand Up @@ -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 = {}
Expand Down Expand Up @@ -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] ]
Expand All @@ -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
Expand All @@ -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()
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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() })
Expand All @@ -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
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit b3ade33

Please sign in to comment.