forked from neovim/neovim
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(runtime/health): support lua healthchecks
- Refactor health.vim to discover lua healthcheck in the runtime directories lua/**/health{/init}.lua - Support healthchecks for lua submodules e.g :checkhealth vim.lsp and also support wildcard "*" at the end for all submodules :checkhealth vim* - Refactor health.vim to use variable scope instead of output capturing - Create health.lua module to wrap report functions and future extensibility. - Move away from searching just in the runtimepath, use `nvim_get_runtime_file` due to neovim#15632 Example: Plugin linter in rtp can declare it's checkhealts in lua module `lua/linter/health{/init}.lua` that returns a table with a method "check" that when executed calls the report functions provided by the builtin lua module require("health"). The plugin also has a submodule `/lua/linter/providers` in which it defines `/lua/linter/providers/health{/init}.lua` This plugin healthcheck can now be run by the ex command: `:checkhealth linter linter.providers` Also calling all submodules can be done by: `:checkhealth linter* And "linter" and "linter.provider" would be discovered when: `:checkhealth`
- Loading branch information
Showing
2 changed files
with
86 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
local M = {} | ||
|
||
function M.report_start(msg) | ||
vim.fn['health#report_start'](msg) | ||
end | ||
|
||
function M.report_info(msg) | ||
vim.fn['health#report_info'](msg) | ||
end | ||
|
||
function M.report_ok(msg) | ||
vim.fn['health#report_ok'](msg) | ||
end | ||
|
||
function M.report_warn(msg, ...) | ||
vim.fn['health#report_warn'](msg, ...) | ||
end | ||
|
||
function M.report_error(msg, ...) | ||
vim.fn['health#report_error'](msg, ...) | ||
end | ||
|
||
return M |