ts api updates issue #319

pull/324/head
ray-x 1 year ago
parent 09ef69a363
commit 7302dc4a20

@ -57,8 +57,7 @@ comment.gen = function()
-- nothing found
local ts_utils = require("nvim-treesitter.ts_utils")
ns = ts_utils.get_node_at_cursor()
local ts_query = vim.treesitter.query
local node_text = ts_query.get_node_text(ns, bufnr)
local node_text = require("go.utils").get_node_text(ns, bufnr)
local line = api.nvim_get_current_line()
local regex = "^(%s+)"

@ -3,7 +3,7 @@
local ts_utils = require("nvim-treesitter.ts_utils")
local info = require("go.utils").info
local get_node_text = vim.treesitter.query.get_node_text
local get_node_text = require('go.utils').get_node_text
local function fixplurals()
local n = ts_utils.get_node_at_cursor()
local p = n:parent()

@ -62,6 +62,10 @@ M.efm = function()
-- log(efm)
return efm
end
local parse = vim.treesitter.query.parse
if parse == nil then
parse = vim.treesitter.query.parse_query
end
-- return "-tags=tag1,tag2"
M.get_build_tags = function(args, tbl)
@ -687,13 +691,13 @@ end
M.run_file = function()
local bufnr = vim.api.nvim_get_current_buf()
local tree = vim.treesitter.get_parser(bufnr):parse()[1]
local query = vim.treesitter.parse_query('go', require('go.ts.textobjects').query_test_func)
local query = parse('go', require('go.ts.textobjects').query_test_func)
local test_names = {}
for id, node in query:iter_captures(tree:root(), bufnr, 0, -1) do
local name = query.captures[id] -- name of the capture in the query
if name == 'test_name' then
table.insert(test_names, vim.treesitter.query.get_node_text(node, bufnr))
table.insert(test_names, utils.get_node_text(node, bufnr))
end
end
@ -715,13 +719,13 @@ M.get_testfunc = function()
end
local tree = parser:parse()
tree = tree[1]
local query = vim.treesitter.parse_query('go', require('go.ts.go').query_test_func)
local query = parse('go', require('go.ts.go').query_test_func)
local test_names = {}
for id, node in query:iter_captures(tree:root(), bufnr, 0, -1) do
local name = query.captures[id] -- name of the capture in the query
if name == 'test_name' then
table.insert(test_names, vim.treesitter.query.get_node_text(node, bufnr))
table.insert(test_names, utils.get_node_text(node, bufnr))
end
end

@ -111,7 +111,8 @@ local function transform(text, info)
return ls.t(text)
end
local get_node_text = vim.treesitter.query.get_node_text
local get_node_text = require('go.utils').get_node_text
local handlers = {
parameter_list = function(node, info)
local result = {}

@ -212,7 +212,7 @@ end
M.get_module_at_pos = function(bufnr)
local node = M.get_import_node_at_pos(bufnr)
if node then
local module = vim.treesitter.query.get_node_text(node, vim.api.nvim_get_current_buf())
local module = require('go.utils').get_node_text(node, vim.api.nvim_get_current_buf())
-- log
module = string.gsub(module, '"', '')
return module

@ -4,17 +4,17 @@ local ts_query = require('nvim-treesitter.query')
local parsers = require('nvim-treesitter.parsers')
local locals = require('nvim-treesitter.locals')
local utils = require('go.ts.utils')
local goutil = require('go.utils')
local ulog = require('go.utils').log
local warn = require('go.utils').warn
-- local vim_query = require("vim.treesitter.query")
local api = vim.api
local fn = vim.fn
local M = {}
local HASNVIM0_9 = vim.fn.has('nvim-0.9') == 1
if HASNVIM0_9 then
local get_node_text = vim.treesitter.get_node_text
else
local get_node_text = vim.treesitter.query.get_node_text
local get_node_text = goutil.get_node_text
local parse = vim.treesitter.query.parse
if parse == nil then
parse = vim.treesitter.query.parse_query
end
-- Array<node_wrapper>
@ -65,7 +65,7 @@ end
M.get_nodes = function(query, lang, defaults, bufnr)
bufnr = bufnr or 0
local success, parsed_query = pcall(function()
return vim.treesitter.parse_query(lang, query)
return parse(lang, query)
end)
if not success then
warn('treesitter parse failed, make sure treesitter installed and setup correctly')
@ -134,7 +134,7 @@ M.get_all_nodes = function(query, lang, defaults, bufnr, pos_row, pos_col, ntype
-- todo a huge number
pos_row = pos_row or 30000
local success, parsed_query = pcall(function()
return vim.treesitter.parse_query(lang, query)
return parse(lang, query)
end)
if not success then
ulog('failed to parse ts query: ' .. query .. 'for ' .. lang)

@ -3,9 +3,21 @@ local fn = vim.fn
local os_name = vim.loop.os_uname().sysname
local is_windows = os_name == 'Windows' or os_name == 'Windows_NT'
local HASNVIM0_9 = vim.fn.has('nvim-0.9') == 1
util.get_node_text = vim.treesitter.get_node_text
if not HASNVIM0_9 or util.get_node_text == nil then
util.get_node_text = vim.treesitter.query.get_node_text
end
local nvim_exec = vim.api.nvim_exec2
if nvim_exec == nil then
nvim_exec = vim.api.nvim_exec
end
-- Check whether current buffer contains main function
function util.has_main()
local output = vim.api.nvim_exec('grep func\\ main\\(\\) %', true)
local output = nvim_exec('grep func\\ main\\(\\) %', true)
local matchCount = vim.split(output, '\n')
return #matchCount > 3

Loading…
Cancel
Save