aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2020-08-27 20:53:45 +0200
committerStephan Seitz <stephan.lauf@yahoo.de>2020-08-27 21:39:11 +0200
commit34160bb6f215d020a1b741a2fd4e54bbde23fd19 (patch)
tree8492dcc62d8f28ef5fc641c2f8bfaf5daa33a4a7 /lua
parentdocs: document foldmethod workarounds (diff)
downloadnvim-treesitter-34160bb6f215d020a1b741a2fd4e54bbde23fd19.tar
nvim-treesitter-34160bb6f215d020a1b741a2fd4e54bbde23fd19.tar.gz
nvim-treesitter-34160bb6f215d020a1b741a2fd4e54bbde23fd19.tar.bz2
nvim-treesitter-34160bb6f215d020a1b741a2fd4e54bbde23fd19.tar.lz
nvim-treesitter-34160bb6f215d020a1b741a2fd4e54bbde23fd19.tar.xz
nvim-treesitter-34160bb6f215d020a1b741a2fd4e54bbde23fd19.tar.zst
nvim-treesitter-34160bb6f215d020a1b741a2fd4e54bbde23fd19.zip
fix(health): only check installed parsers
This is to avoid awfully long checkhealths. And not installed parsers can be infered from the fact that they are not listed.
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-treesitter/health.lua27
1 files changed, 7 insertions, 20 deletions
diff --git a/lua/nvim-treesitter/health.lua b/lua/nvim-treesitter/health.lua
index cfb823c5f..c5f592745 100644
--- a/lua/nvim-treesitter/health.lua
+++ b/lua/nvim-treesitter/health.lua
@@ -2,7 +2,7 @@ local api = vim.api
local fn = vim.fn
local queries = require'nvim-treesitter.query'
-local parsers = require'nvim-treesitter.parsers'
+local info = require'nvim-treesitter.info'
local health_start = vim.fn["health#report_start"]
local health_ok = vim.fn['health#report_ok']
@@ -12,6 +12,7 @@ local health_error = vim.fn['health#report_error']
local M = {}
local function install_health()
+ health_start('Installation')
if fn.executable('git') == 0 then
health_error('`git` executable not found.', {
'Install it with your package manager.',
@@ -44,38 +45,24 @@ end
function M.checkhealth()
-- Installation dependency checks
- health_start('Installation')
install_health()
-
- local missing_parsers = {}
-- Parser installation checks
- for _, parser_name in pairs(parsers.available_parsers()) do
+ for _, parser_name in pairs(info.installed_parsers()) do
local installed = #api.nvim_get_runtime_file('parser/'..parser_name..'.so', false)
-- Only print informations about installed parsers
- if installed == 1 then
+ if installed >= 1 then
+ if installed > 1 then
+ health_warn(string.format("Multiple parsers found for %s, only %s will be used.", parser_name, installed[1]))
+ end
health_start(parser_name .. " parser healthcheck")
health_ok(parser_name .. " parser found.")
for _, query_group in pairs(queries.built_in_query_groups) do
query_health(parser_name, query_group)
end
-
- elseif installed > 1 then
- health_warn(string.format("Multiple parsers found for %s, only %s will be used.", parser_name, installed[1]))
- else
- table.insert(missing_parsers, parser_name)
end
end
-
- -- Add informations on parsers we dont find
- if #missing_parsers > 0 then
- health_start('Missing parsers')
-
- -- TODO(vigoux): The installation command should be changed so that its easier to find
- health_warn('Some parsers are not installed:\n' .. table.concat(missing_parsers, '\n'), {
- "Install them using `:TSInstall language"})
- end
end
return M