diff options
| author | Christian Clason <c.clason@uni-graz.at> | 2025-05-28 09:23:55 +0200 |
|---|---|---|
| committer | Christian Clason <ch.clason+github@icloud.com> | 2025-05-29 11:52:58 +0200 |
| commit | 03c90480907fd4ec7ce3f76bbf3264100223b5df (patch) | |
| tree | 256e90203639e79480314b0afee293bb9d55beb5 | |
| parent | fix(install): don't skip un-tiered parsers (diff) | |
| download | nvim-treesitter-03c90480907fd4ec7ce3f76bbf3264100223b5df.tar nvim-treesitter-03c90480907fd4ec7ce3f76bbf3264100223b5df.tar.gz nvim-treesitter-03c90480907fd4ec7ce3f76bbf3264100223b5df.tar.bz2 nvim-treesitter-03c90480907fd4ec7ce3f76bbf3264100223b5df.tar.lz nvim-treesitter-03c90480907fd4ec7ce3f76bbf3264100223b5df.tar.xz nvim-treesitter-03c90480907fd4ec7ce3f76bbf3264100223b5df.tar.zst nvim-treesitter-03c90480907fd4ec7ce3f76bbf3264100223b5df.zip | |
fix(install): only install queries for bundled parsers
| -rw-r--r-- | lua/nvim-treesitter/install.lua | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua index e6933fe58..b669127ad 100644 --- a/lua/nvim-treesitter/install.lua +++ b/lua/nvim-treesitter/install.lua @@ -369,14 +369,20 @@ local function try_install_lang(lang, cache_dir, install_dir, generate) end end - local queries = fs.joinpath(config.get_install_dir('queries'), lang) - local queries_src = M.get_package_path('runtime', 'queries', lang) - uv_unlink(queries) - local err = uv_symlink(queries_src, queries, { dir = true, junction = true }) - a.schedule() - if err then - return logger:error(err) + do -- install queries + local queries_src = M.get_package_path('runtime', 'queries', lang) + if uv.fs_stat(queries_src) then + local queries = fs.joinpath(config.get_install_dir('queries'), lang) + + uv_unlink(queries) + local err = uv_symlink(queries_src, queries, { dir = true, junction = true }) + a.schedule() + if err then + return logger:error(err) + end + end end + logger:info('Language installed') end @@ -440,8 +446,8 @@ local function install(languages, options) options = options or {} local cache_dir = fs.normalize(fn.stdpath('cache')) - if not vim.uv.fs_stat(cache_dir) then - vim.fn.mkdir(cache_dir, 'p') + if not uv.fs_stat(cache_dir) then + fn.mkdir(cache_dir, 'p') end local install_dir = config.get_install_dir('parser') @@ -526,6 +532,7 @@ end ---@param languages string[]|string M.uninstall = a.async(function(languages) + reload_parsers() languages = config.norm_languages(languages or 'all', { missing = true, dependencies = true }) local parser_dir = config.get_install_dir('parser') @@ -537,7 +544,7 @@ M.uninstall = a.async(function(languages) for _, lang in ipairs(languages) do local logger = log.new('uninstall/' .. lang) if not vim.list_contains(installed, lang) then - log.warn('Parser for ' .. lang .. ' is is not managed by nvim-treesitter') + log.warn('Parser for ' .. lang .. ' is not managed by nvim-treesitter') else local parser = fs.joinpath(parser_dir, lang) .. '.so' local queries = fs.joinpath(query_dir, lang) |
