aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorStephan Seitz <stephan.seitz@fau.de>2022-09-10 23:15:41 +0200
committerStephan Seitz <stephan.seitz@fau.de>2022-10-15 04:05:20 -0700
commit1da61c993a09bf237b0b65a5256577eaa3c677c6 (patch)
tree0244e7cbddad9aec35312ec2f86cf2b48f10b151 /lua
parenthighlights(r): add spell (diff)
downloadnvim-treesitter-1da61c993a09bf237b0b65a5256577eaa3c677c6.tar
nvim-treesitter-1da61c993a09bf237b0b65a5256577eaa3c677c6.tar.gz
nvim-treesitter-1da61c993a09bf237b0b65a5256577eaa3c677c6.tar.bz2
nvim-treesitter-1da61c993a09bf237b0b65a5256577eaa3c677c6.tar.lz
nvim-treesitter-1da61c993a09bf237b0b65a5256577eaa3c677c6.tar.xz
nvim-treesitter-1da61c993a09bf237b0b65a5256577eaa3c677c6.tar.zst
nvim-treesitter-1da61c993a09bf237b0b65a5256577eaa3c677c6.zip
fix: explain what's wrong when installing a non-existing parser
Fixes #3450
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/install.lua14
1 files changed, 12 insertions, 2 deletions
diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua
index 99b527c37..95a8a9f92 100644
--- a/lua/nvim-treesitter/install.lua
+++ b/lua/nvim-treesitter/install.lua
@@ -46,7 +46,7 @@ local function get_parser_install_info(lang, validate)
local parser_config = parsers.get_parser_configs()[lang]
if not parser_config then
- return error("Parser not available for language " .. lang)
+ return error('Parser not available for language "' .. lang .. '"')
end
local install_info = parser_config.install_info
@@ -374,7 +374,17 @@ local function install_lang(lang, ask_reinstall, cache_folder, install_folder, w
end
end
- local install_info = get_parser_install_info(lang, true)
+ local ok, install_info = pcall(get_parser_install_info, lang, true)
+ if not ok then
+ vim.notify("Installation not possible: " .. install_info, vim.log.levels.ERROR)
+ if not parsers.get_parser_configs()[lang] then
+ vim.notify(
+ "See https://github.com/nvim-treesitter/nvim-treesitter/#adding-parsers on how to add a new parser!",
+ vim.log.levels.INFO
+ )
+ end
+ return
+ end
run_install(cache_folder, install_folder, lang, install_info, with_sync, generate_from_grammar)
end