diff options
| author | Stephan Seitz <stephan.seitz@fau.de> | 2022-09-10 23:15:41 +0200 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2022-10-15 04:05:20 -0700 |
| commit | 1da61c993a09bf237b0b65a5256577eaa3c677c6 (patch) | |
| tree | 0244e7cbddad9aec35312ec2f86cf2b48f10b151 /lua | |
| parent | highlights(r): add spell (diff) | |
| download | nvim-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.lua | 14 |
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 |
