mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 9249dcdda1
			
		
	
	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
 |