aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Vigouroux <39092278+vigoux@users.noreply.github.com>2020-04-21 20:14:41 +0200
committerGitHub <noreply@github.com>2020-04-21 20:14:41 +0200
commitfbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6 (patch)
treeea293f7e27fd74983dfde74dd5fb11100ea80fa2
parentMerge pull request #15 from kyazdani42/enable-typescript-install (diff)
parentfeat: add parser list (diff)
downloadnvim-treesitter-fbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6.tar
nvim-treesitter-fbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6.tar.gz
nvim-treesitter-fbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6.tar.bz2
nvim-treesitter-fbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6.tar.lz
nvim-treesitter-fbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6.tar.xz
nvim-treesitter-fbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6.tar.zst
nvim-treesitter-fbf6efd5b190b7d8327cd4ecbcaf5404fb0424e6.zip
Merge pull request #11 from kyazdani42/parser-list
feat: add parser list
-rw-r--r--lua/nvim-treesitter.lua1
-rw-r--r--lua/nvim-treesitter/install.lua17
2 files changed, 18 insertions, 0 deletions
diff --git a/lua/nvim-treesitter.lua b/lua/nvim-treesitter.lua
index 8dae7c33b..8628e499b 100644
--- a/lua/nvim-treesitter.lua
+++ b/lua/nvim-treesitter.lua
@@ -15,5 +15,6 @@ end
-- To install, run `:lua require'nvim-treesitter'.install_parser('language')`
-- we should add a vim layer over the lua function
M.install_parser = install.install_parser
+M.list_parsers = install.list_parsers
return M
diff --git a/lua/nvim-treesitter/install.lua b/lua/nvim-treesitter/install.lua
index b8d72dfbc..c83567310 100644
--- a/lua/nvim-treesitter/install.lua
+++ b/lua/nvim-treesitter/install.lua
@@ -236,4 +236,21 @@ function M.checkhealth()
end
end
+function M.list_parsers()
+ local max_len = 0
+ for parser_name, _ in pairs(repositories) do
+ if #parser_name > max_len then max_len = #parser_name end
+ end
+
+ for parser_name, _ in pairs(repositories) do
+ local is_installed = #api.nvim_get_runtime_file('parser/'..parser_name..'.so', false) > 0
+ api.nvim_out_write(parser_name..string.rep(' ', max_len - #parser_name + 1))
+ if is_installed then
+ api.nvim_out_write("[✓] installed\n")
+ else
+ api.nvim_out_write("[✗] not installed\n")
+ end
+ end
+end
+
return M