diff options
| author | Stephan Seitz <stephan.seitz@fau.de> | 2021-04-01 11:44:53 +0200 |
|---|---|---|
| committer | Stephan Seitz <stephan.lauf@yahoo.de> | 2021-04-01 21:10:47 +0200 |
| commit | 25ee877b620486d4f71103e8fa6adc2eb563c4aa (patch) | |
| tree | 0842db21374ca027ba7d9d07cef052a0f9accaad /lua | |
| parent | Check for node-js on :TSInstallFromGrammar (diff) | |
| download | nvim-treesitter-25ee877b620486d4f71103e8fa6adc2eb563c4aa.tar nvim-treesitter-25ee877b620486d4f71103e8fa6adc2eb563c4aa.tar.gz nvim-treesitter-25ee877b620486d4f71103e8fa6adc2eb563c4aa.tar.bz2 nvim-treesitter-25ee877b620486d4f71103e8fa6adc2eb563c4aa.tar.lz nvim-treesitter-25ee877b620486d4f71103e8fa6adc2eb563c4aa.tar.xz nvim-treesitter-25ee877b620486d4f71103e8fa6adc2eb563c4aa.tar.zst nvim-treesitter-25ee877b620486d4f71103e8fa6adc2eb563c4aa.zip | |
all/maintained: only installation from grammar when tree-sitter CLI executable
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 626d0936f..172702396 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -544,11 +544,20 @@ function M.ft_to_lang(ft) end function M.available_parsers() - return vim.tbl_keys(M.list) + if vim.fn.executable('tree-sitter') == 1 then + return vim.tbl_keys(M.list) + else + return vim.tbl_filter(function(p) return not M.list[p].install_info.requires_generate_from_grammar end, + vim.tbl_keys(M.list)) + end end function M.maintained_parsers() - return vim.tbl_filter(function(lang) return M.list[lang].maintainers end, M.available_parsers()) + local has_tree_sitter_cli = vim.fn.executable('tree-sitter') == 1 + return vim.tbl_filter(function(lang) + return M.list[lang].maintainers + 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() |
