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:
Christian Clason
2022-04-16 11:41:00 +02:00
committed by Christian Clason
parent 808473cfbb
commit bc25a6a5c4
4 changed files with 3 additions and 71 deletions

View File

@@ -7,11 +7,11 @@ function! nvim_treesitter#foldexpr() abort
endfunction
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
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
function! nvim_treesitter#available_modules(arglead, cmdline, cursorpos) abort

View File

@@ -402,9 +402,6 @@ local function install(options)
if ... == "all" then
languages = parsers.available_parsers()
ask = false
elseif ... == "maintained" then
languages = parsers.maintained_parsers()
ask = false
else
languages = vim.tbl_flatten { ... }
ask = ask_reinstall
@@ -467,15 +464,9 @@ function M.uninstall(...)
path_sep = "\\"
end
if vim.tbl_contains({ "all", "maintained" }, ...) then
if vim.tbl_contains({ "all" }, ...) then
reset_progress_counter()
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
M.uninstall(langitem)
end

View File

@@ -1085,19 +1085,6 @@ function M.available_parsers()
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()
return M.list
end

View File

@@ -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)