diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2024-05-17 09:39:19 +0200 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2024-05-17 17:16:44 +0200 |
| commit | 3d268f9db4e3b1bf8ba1de792407fe89ed1274db (patch) | |
| tree | 8c8c5e6eadee460ea52911efaa4bbfdabcbc06b0 | |
| parent | fix(injection): lower-case language name for markdown strings (diff) | |
| download | nvim-treesitter-3d268f9db4e3b1bf8ba1de792407fe89ed1274db.tar nvim-treesitter-3d268f9db4e3b1bf8ba1de792407fe89ed1274db.tar.gz nvim-treesitter-3d268f9db4e3b1bf8ba1de792407fe89ed1274db.tar.bz2 nvim-treesitter-3d268f9db4e3b1bf8ba1de792407fe89ed1274db.tar.lz nvim-treesitter-3d268f9db4e3b1bf8ba1de792407fe89ed1274db.tar.xz nvim-treesitter-3d268f9db4e3b1bf8ba1de792407fe89ed1274db.tar.zst nvim-treesitter-3d268f9db4e3b1bf8ba1de792407fe89ed1274db.zip | |
fix: adapt to Nvim 0.11 deprecations
| -rw-r--r-- | lua/nvim-treesitter/compat.lua | 12 | ||||
| -rw-r--r-- | lua/nvim-treesitter/install.lua | 9 | ||||
| -rw-r--r-- | lua/nvim-treesitter/shell_command_selectors.lua | 2 | ||||
| -rw-r--r-- | lua/nvim-treesitter/utils.lua | 2 | ||||
| -rw-r--r-- | tests/indent/common.lua | 2 |
5 files changed, 20 insertions, 7 deletions
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 "<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, diff --git a/tests/indent/common.lua b/tests/indent/common.lua index 1ddd91a40..6cfedafff 100644 --- a/tests/indent/common.lua +++ b/tests/indent/common.lua @@ -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() |
