mirror of
https://github.com/neovim/neovim.git
synced 2024-12-21 03:35:02 -07:00
9249dcdda1
- 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
|