fix: adapt to Nvim 0.11 deprecations

This commit is contained in:
Christian Clason
2024-05-17 09:39:19 +02:00
parent 19ac9e8b5c
commit 3d268f9db4
5 changed files with 20 additions and 7 deletions

View File

@@ -24,4 +24,16 @@ function M.get_node_text(node, bufnr)
return (ts.get_node_text or tsq.get_node_text)(node, bufnr)
end
function M.require_language(lang, opts)
return (ts.language.add or ts.language.require_language)(lang, opts)
end
function M.flatten(t)
if vim.fn.has "nvim-0.10" then
return vim.iter(t):flatten():totable()
else
return vim.tbl_flatten(t)
end
end
return M

View File

@@ -7,6 +7,7 @@ local parsers = require "nvim-treesitter.parsers"
local info = require "nvim-treesitter.info"
local configs = require "nvim-treesitter.configs"
local shell = require "nvim-treesitter.shell_command_selectors"
local compat = require "nvim-treesitter.compat"
local M = {}
@@ -59,7 +60,7 @@ local function reattach_if_possible_fn(lang, error_on_fail)
local ft = vim.bo[buf].filetype
ok, err = pcall(vim.treesitter.language.add, lang, { filetype = ft })
else
ok, err = pcall(vim.treesitter.language.require_language, lang)
ok, err = pcall(compat.require_language, lang)
end
if not ok and error_on_fail then
vim.notify("Could not load parser for " .. lang .. ": " .. vim.inspect(err))
@@ -535,7 +536,7 @@ local function install(options)
languages = parsers.available_parsers()
ask = false
else
languages = vim.tbl_flatten { ... }
languages = compat.flatten { ... }
ask = ask_reinstall
end
@@ -573,7 +574,7 @@ function M.update(options)
reset_progress_counter()
if ... and ... ~= "all" then
---@type string[]
local languages = vim.tbl_flatten { ... }
local languages = compat.flatten { ... }
local installed = 0
for _, lang in ipairs(languages) do
if (not is_installed(lang)) or (needs_update(lang)) then
@@ -616,7 +617,7 @@ function M.uninstall(...)
ensure_installed_parsers = utils.difference(ensure_installed_parsers, configs.get_ignored_parser_installs())
---@type string[]
local languages = vim.tbl_flatten { ... }
local languages = compat.flatten { ... }
for _, lang in ipairs(languages) do
local install_dir, err = configs.get_parser_install_dir()
if err then

View File

@@ -152,7 +152,7 @@ function M.select_compile_command(repo, cc, compile_location)
info = "Compiling...",
err = "Error during compilation",
opts = {
args = vim.tbl_flatten(M.select_compiler_args(repo, cc)),
args = require("nvim-treesitter.compat").flatten(M.select_compiler_args(repo, cc)),
cwd = compile_location,
},
}

View File

@@ -83,7 +83,7 @@ function M.setup_commands(mod, commands)
local f_args = def.f_args or "<f-args>"
local call_fn =
string.format("lua require'nvim-treesitter.%s'.commands.%s['run<bang>'](%s)", mod, command_name, f_args)
local parts = vim.tbl_flatten {
local parts = require("nvim-treesitter.compat").flatten {
"command!",
"-bar",
def.args,

View File

@@ -180,7 +180,7 @@ function Runner:whole_file(dirs, opts)
assert.is.same(1, vim.fn.isdirectory(dir.filename))
return dir.filename
end, dirs)
local files = vim.tbl_flatten(vim.tbl_map(scan_dir, dirs))
local files = require("nvim-treesitter.compat").flatten(vim.tbl_map(scan_dir, dirs))
for _, file in ipairs(files) do
local relpath = Path:new(file):make_relative(self.base_dir.filename)
self.it(relpath, function()