diff options
| author | Javier López <graulopezjavier@gmail.com> | 2021-10-06 09:29:08 -0500 |
|---|---|---|
| committer | Thomas Vigouroux <tomvig38@gmail.com> | 2021-10-11 09:47:16 +0200 |
| commit | 66f1873213617a334d4a7af947dad5b2b796dab2 (patch) | |
| tree | 265ca312f555c8868a1b4d68f481475c9902731d /lua | |
| parent | Add scala maintainer (diff) | |
| download | nvim-treesitter-66f1873213617a334d4a7af947dad5b2b796dab2.tar nvim-treesitter-66f1873213617a334d4a7af947dad5b2b796dab2.tar.gz nvim-treesitter-66f1873213617a334d4a7af947dad5b2b796dab2.tar.bz2 nvim-treesitter-66f1873213617a334d4a7af947dad5b2b796dab2.tar.lz nvim-treesitter-66f1873213617a334d4a7af947dad5b2b796dab2.tar.xz nvim-treesitter-66f1873213617a334d4a7af947dad5b2b796dab2.tar.zst nvim-treesitter-66f1873213617a334d4a7af947dad5b2b796dab2.zip | |
feat(healthcheck): support native lua healthchecks, and fixes
After neovim/neovim#15259 lua healthchecks are called directly and are
prefered over neovim autoload ones. The discover of Lua ones requires
the function to be named "check()".
Also the mentioned PR changed the design of healthchecks to not use
output capturing, therefore avoid printing and instead concatenate and
call the health functions.
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-treesitter/health.lua | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lua/nvim-treesitter/health.lua b/lua/nvim-treesitter/health.lua index 9c65462b1..996a87f2a 100644 --- a/lua/nvim-treesitter/health.lua +++ b/lua/nvim-treesitter/health.lua @@ -109,17 +109,17 @@ local function query_status(lang, query_group) end end -function M.checkhealth() +function M.check() local error_collection = {} -- Installation dependency checks install_health() queries.invalidate_query_cache() - health_start "Parser/Features H L F I J" -- Parser installation checks + local parser_installation = { "Parser/Features H L F I J" } 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 + -- Only append information about installed parsers if installed >= 1 then local multiple_parsers = installed > 1 and "+" or "" local out = " - " .. parser_name .. multiple_parsers .. string.rep(" ", 15 - (#parser_name + #multiple_parsers)) @@ -130,16 +130,19 @@ function M.checkhealth() table.insert(error_collection, { parser_name, query_group, err }) end end - print(out) + table.insert(parser_installation, out) end end - print [[ + local legend = [[ - Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections + Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections +) multiple parsers found, only one will be used x) errors found in the query, try to run :TSUpdate {lang}]] + table.insert(parser_installation, legend) + -- Finally call the report function + health_start(table.concat(parser_installation, "\n")) if #error_collection > 0 then - print "\nThe following errors have been detected:" + health_start "The following errors have been detected:" for _, p in ipairs(error_collection) do local lang, type, err = unpack(p) health_error(lang .. "(" .. type .. "): " .. err) |
