From 3d268f9db4e3b1bf8ba1de792407fe89ed1274db Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Fri, 17 May 2024 09:39:19 +0200 Subject: fix: adapt to Nvim 0.11 deprecations --- lua/nvim-treesitter/compat.lua | 12 ++++++++++++ lua/nvim-treesitter/install.lua | 9 +++++---- lua/nvim-treesitter/shell_command_selectors.lua | 2 +- lua/nvim-treesitter/utils.lua | 2 +- 4 files changed, 19 insertions(+), 6 deletions(-) (limited to 'lua') diff --git a/lua/nvim-treesitter/compat.lua b/lua/nvim-treesitter/compat.lua index c56e12b18..a683502ff 100644 --- a/lua/nvim-treesitter/compat.lua +++ b/lua/nvim-treesitter/compat.lua @@ -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 diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index c2d961fb8..ec7d6245b 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -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 diff --git a/lua/nvim-treesitter/shell_command_selectors.lua b/lua/nvim-treesitter/shell_command_selectors.lua index 96ad6acc4..f1d557a74 100644 --- a/lua/nvim-treesitter/shell_command_selectors.lua +++ b/lua/nvim-treesitter/shell_command_selectors.lua @@ -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, }, } diff --git a/lua/nvim-treesitter/utils.lua b/lua/nvim-treesitter/utils.lua index 4aa8e5984..d920f4a61 100644 --- a/lua/nvim-treesitter/utils.lua +++ b/lua/nvim-treesitter/utils.lua @@ -83,7 +83,7 @@ function M.setup_commands(mod, commands) local f_args = def.f_args or "" local call_fn = string.format("lua require'nvim-treesitter.%s'.commands.%s['run'](%s)", mod, command_name, f_args) - local parts = vim.tbl_flatten { + local parts = require("nvim-treesitter.compat").flatten { "command!", "-bar", def.args, -- cgit v1.2.3-70-g09d2