mirror of
https://github.com/neovim/neovim.git
synced 2025-10-22 17:11:49 +00:00
- 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 #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`
24 lines
388 B
Lua
24 lines
388 B
Lua
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
|