mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-17 10:50:06 -04:00
chore!: remove ensure_installed='maintained'
Removes all support (and tests) for the parser category "maintained", as this is no longer a useful category. BREAKING CHANGE: replace `ensure_installed='maintained'` by an explicit list of parsers, or use `'all'` (not recommended).
This commit is contained in:
parent
808473cfbb
commit
bc25a6a5c4
4 changed files with 3 additions and 71 deletions
|
|
@ -7,11 +7,11 @@ function! nvim_treesitter#foldexpr() abort
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! nvim_treesitter#installable_parsers(arglead, cmdline, cursorpos) abort
|
function! nvim_treesitter#installable_parsers(arglead, cmdline, cursorpos) abort
|
||||||
return join(luaeval("require'nvim-treesitter.parsers'.available_parsers()") + ['all', 'maintained'], "\n")
|
return join(luaeval("require'nvim-treesitter.parsers'.available_parsers()") + ['all'], "\n")
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! nvim_treesitter#installed_parsers(arglead, cmdline, cursorpos) abort
|
function! nvim_treesitter#installed_parsers(arglead, cmdline, cursorpos) abort
|
||||||
return join(luaeval("require'nvim-treesitter.info'.installed_parsers()") + ['all', 'maintained'], "\n")
|
return join(luaeval("require'nvim-treesitter.info'.installed_parsers()") + ['all'], "\n")
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! nvim_treesitter#available_modules(arglead, cmdline, cursorpos) abort
|
function! nvim_treesitter#available_modules(arglead, cmdline, cursorpos) abort
|
||||||
|
|
|
||||||
|
|
@ -402,9 +402,6 @@ local function install(options)
|
||||||
if ... == "all" then
|
if ... == "all" then
|
||||||
languages = parsers.available_parsers()
|
languages = parsers.available_parsers()
|
||||||
ask = false
|
ask = false
|
||||||
elseif ... == "maintained" then
|
|
||||||
languages = parsers.maintained_parsers()
|
|
||||||
ask = false
|
|
||||||
else
|
else
|
||||||
languages = vim.tbl_flatten { ... }
|
languages = vim.tbl_flatten { ... }
|
||||||
ask = ask_reinstall
|
ask = ask_reinstall
|
||||||
|
|
@ -467,15 +464,9 @@ function M.uninstall(...)
|
||||||
path_sep = "\\"
|
path_sep = "\\"
|
||||||
end
|
end
|
||||||
|
|
||||||
if vim.tbl_contains({ "all", "maintained" }, ...) then
|
if vim.tbl_contains({ "all" }, ...) then
|
||||||
reset_progress_counter()
|
reset_progress_counter()
|
||||||
local installed = info.installed_parsers()
|
local installed = info.installed_parsers()
|
||||||
if ... == "maintained" then
|
|
||||||
local maintained = parsers.maintained_parsers()
|
|
||||||
installed = vim.tbl_filter(function(l)
|
|
||||||
return vim.tbl_contains(maintained, l)
|
|
||||||
end, installed)
|
|
||||||
end
|
|
||||||
for _, langitem in pairs(installed) do
|
for _, langitem in pairs(installed) do
|
||||||
M.uninstall(langitem)
|
M.uninstall(langitem)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1085,19 +1085,6 @@ function M.available_parsers()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.maintained_parsers()
|
|
||||||
require("nvim-treesitter.utils").notify(
|
|
||||||
"ensure_installed='maintained' will be removed April 30, 2022. Specify parsers explicitly or use 'all'.",
|
|
||||||
vim.log.levels.WARN
|
|
||||||
)
|
|
||||||
local has_tree_sitter_cli = vim.fn.executable "tree-sitter" == 1 and vim.fn.executable "node" == 1
|
|
||||||
return vim.tbl_filter(function(lang)
|
|
||||||
return M.list[lang].maintainers
|
|
||||||
and not M.list[lang].experimental
|
|
||||||
and (has_tree_sitter_cli or not M.list[lang].install_info.requires_generate_from_grammar)
|
|
||||||
end, M.available_parsers())
|
|
||||||
end
|
|
||||||
|
|
||||||
function M.get_parser_configs()
|
function M.get_parser_configs()
|
||||||
return M.list
|
return M.list
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
local stub = require "luassert.stub"
|
|
||||||
local parsers = require "nvim-treesitter.parsers"
|
|
||||||
|
|
||||||
describe("maintained_parsers", function()
|
|
||||||
before_each(function()
|
|
||||||
stub(vim.fn, "executable")
|
|
||||||
end)
|
|
||||||
|
|
||||||
after_each(function()
|
|
||||||
vim.fn.executable:clear()
|
|
||||||
end)
|
|
||||||
|
|
||||||
it("does not return experimental parsers", function()
|
|
||||||
local old_list = parsers.list
|
|
||||||
parsers.list = {
|
|
||||||
c = {
|
|
||||||
install_info = {
|
|
||||||
url = "https://github.com/tree-sitter/tree-sitter-c",
|
|
||||||
files = { "src/parser.c" },
|
|
||||||
},
|
|
||||||
maintainers = { "@vigoux" },
|
|
||||||
},
|
|
||||||
d = {
|
|
||||||
install_info = {
|
|
||||||
url = "https://github.com/CyberShadow/tree-sitter-d",
|
|
||||||
files = { "src/parser.c", "src/scanner.cc" },
|
|
||||||
requires_generate_from_grammar = true,
|
|
||||||
},
|
|
||||||
maintainers = { "@nawordar" },
|
|
||||||
experimental = true,
|
|
||||||
},
|
|
||||||
haskell = {
|
|
||||||
install_info = {
|
|
||||||
url = "https://github.com/tree-sitter/tree-sitter-haskell",
|
|
||||||
files = { "src/parser.c", "src/scanner.cc" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local expected = { "c" }
|
|
||||||
|
|
||||||
assert.same(parsers.maintained_parsers(), expected)
|
|
||||||
|
|
||||||
parsers.list = old_list
|
|
||||||
end)
|
|
||||||
end)
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue