mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 14:38:32 +00:00
doc: replace ":CheckHealth" with ":checkhealth"
This commit is contained in:
@@ -18,7 +18,7 @@ function! s:enhance_syntax() abort
|
|||||||
syntax match healthBar "|" contained conceal
|
syntax match healthBar "|" contained conceal
|
||||||
highlight link healthHelp Identifier
|
highlight link healthHelp Identifier
|
||||||
|
|
||||||
" We do not care about markdown syntax errors in :CheckHealth output.
|
" We do not care about markdown syntax errors in :checkhealth output.
|
||||||
highlight! link markdownError Normal
|
highlight! link markdownError Normal
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
@@ -75,7 +75,7 @@ let s:prog = provider#ruby#Detect()
|
|||||||
let s:plugin_path = expand('<sfile>:p:h') . '/script_host.rb'
|
let s:plugin_path = expand('<sfile>:p:h') . '/script_host.rb'
|
||||||
|
|
||||||
if empty(s:prog)
|
if empty(s:prog)
|
||||||
let s:err = 'Cannot find the neovim RubyGem. Try :CheckHealth'
|
let s:err = 'Cannot find the neovim RubyGem. Try :checkhealth'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call remote#host#RegisterClone('legacy-ruby-provider', 'ruby')
|
call remote#host#RegisterClone('legacy-ruby-provider', 'ruby')
|
||||||
|
@@ -5,50 +5,36 @@ Author: TJ DeVries <devries.timothyj@gmail.com>
|
|||||||
Type <M-]> to see the table of contents.
|
Type <M-]> to see the table of contents.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Introduction *healthcheck* *health.vim-intro*
|
Introduction *health*
|
||||||
|
|
||||||
Troubleshooting user configuration problems is a time-consuming task that
|
health.vim is a minimal framework to help with troubleshooting user
|
||||||
developers want to minimize. health.vim provides a simple framework for plugin
|
configuration. Nvim ships with healthchecks for configuration, performance,
|
||||||
authors to hook into, and for users to invoke, to check and report the user's
|
python support, ruby support, clipboard support, and more.
|
||||||
configuration and environment. Type this command to try it: >
|
|
||||||
|
|
||||||
:CheckHealth
|
To run the healthchecks, use this command: >
|
||||||
|
|
||||||
|
:checkhealth
|
||||||
<
|
<
|
||||||
For example, some users have broken or unusual Python setups, which breaks the
|
Plugin authors are encouraged to write new healthchecks. |health-dev|
|
||||||
|:python| command. |:CheckHealth| detects several common Python configuration
|
|
||||||
problems and reports them. If the Neovim Python module is not installed, it
|
|
||||||
shows a warning: >
|
|
||||||
|
|
||||||
You have not installed the Neovim Python module
|
|
||||||
You might want to try `pip install Neovim`
|
|
||||||
<
|
|
||||||
Plugin authors are encouraged to add healthchecks, see |health.vim-dev|.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Commands and functions *health.vim-manual*
|
Commands *health-commands*
|
||||||
|
|
||||||
Commands
|
*:checkhealth* *:CheckHealth*
|
||||||
------------------------------------------------------------------------------
|
:checkhealth Run all healthchecks.
|
||||||
*:CheckHealth*
|
|
||||||
:CheckHealth Run all healthchecks and show the output in a new
|
|
||||||
tabpage. These healthchecks are included by default:
|
|
||||||
- python2
|
|
||||||
- python3
|
|
||||||
- ruby
|
|
||||||
- remote plugin
|
|
||||||
|
|
||||||
:CheckHealth {plugins}
|
:checkhealth {plugins}
|
||||||
Run healthchecks for one or more plugins. E.g. to run
|
Run healthcheck(s) for one or more plugins. E.g. to run
|
||||||
only the standard Nvim healthcheck: >
|
only the standard Nvim healthcheck: >
|
||||||
:CheckHealth nvim
|
:checkhealth nvim
|
||||||
< To run the healthchecks for the "foo" and "bar" plugins
|
< To run the healthchecks for the "foo" and "bar" plugins
|
||||||
(assuming these plugins are on your 'runtimepath' and
|
(assuming these plugins are on your 'runtimepath' and
|
||||||
they have implemented health#foo#check() and
|
they have implemented health#foo#check() and
|
||||||
health#bar#check(), respectively): >
|
health#bar#check(), respectively): >
|
||||||
:CheckHealth foo bar
|
:checkhealth foo bar
|
||||||
<
|
<
|
||||||
Functions
|
==============================================================================
|
||||||
------------------------------------------------------------------------------
|
Functions *health-functions*
|
||||||
|
|
||||||
health.vim functions are for creating new healthchecks. They mostly just do
|
health.vim functions are for creating new healthchecks. They mostly just do
|
||||||
some layout and formatting, to give users a consistent presentation.
|
some layout and formatting, to give users a consistent presentation.
|
||||||
@@ -59,51 +45,49 @@ health#report_start({name}) *health#report_start*
|
|||||||
per section.
|
per section.
|
||||||
|
|
||||||
health#report_info({msg}) *health#report_info*
|
health#report_info({msg}) *health#report_info*
|
||||||
Displays an informational message.
|
Reports an informational message.
|
||||||
|
|
||||||
health#report_ok({msg}) *health#report_ok*
|
health#report_ok({msg}) *health#report_ok*
|
||||||
Displays a "success" message.
|
Reports a "success" message.
|
||||||
|
|
||||||
health#report_warn({msg}, [{advice}]) *health#report_warn*
|
health#report_warn({msg}, [{advice}]) *health#report_warn*
|
||||||
Displays a warning. {advice} is an optional List of suggestions.
|
Reports a warning. {advice} is an optional List of suggestions.
|
||||||
|
|
||||||
health#report_error({msg}, [{advice}]) *health#report_error*
|
health#report_error({msg}, [{advice}]) *health#report_error*
|
||||||
Displays an error. {advice} is an optional List of suggestions.
|
Reports an error. {advice} is an optional List of suggestions.
|
||||||
|
|
||||||
health#{plugin}#check() *health.user_checker*
|
health#{plugin}#check() *health.user_checker*
|
||||||
This is the form of a healthcheck definition. Call the above functions
|
Healthcheck function for {plugin}. Called by |:checkhealth|
|
||||||
from this function, then |:CheckHealth| does the rest. Example: >
|
automatically. Example: >
|
||||||
|
|
||||||
function! health#my_plug#check() abort
|
function! health#my_plug#check() abort
|
||||||
silent call s:check_environment_vars()
|
silent call s:check_environment_vars()
|
||||||
silent call s:check_python_configuration()
|
silent call s:check_python_configuration()
|
||||||
endfunction
|
endfunction
|
||||||
<
|
<
|
||||||
The function will be found and called automatically when the user
|
|
||||||
invokes |:CheckHealth|.
|
|
||||||
|
|
||||||
All output will be captured from the healthcheck. Use the
|
All output will be captured from the healthcheck. Use the
|
||||||
health#report_* functions so that your healthcheck has a format
|
health#report_* functions so that your healthcheck has a format
|
||||||
consistent with the standard healthchecks.
|
consistent with the standard healthchecks.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Create a healthcheck *health.vim-dev*
|
Create a healthcheck *health-dev*
|
||||||
|
|
||||||
Healthchecks are functions that check the health of the system. Neovim has
|
Healthchecks are functions that check the user environment, configuration,
|
||||||
built-in checkers, found in $VIMRUNTIME/autoload/health/.
|
etc. Nvim has built-in healthchecks in $VIMRUNTIME/autoload/health/.
|
||||||
|
|
||||||
To add a new checker for your own plugin, simply define a
|
To add a new healthcheck for your own plugin, simply define a
|
||||||
health#{plugin}#check() function in autoload/health/{plugin}.vim.
|
health#{plugin}#check() function in autoload/health/{plugin}.vim.
|
||||||
|:CheckHealth| automatically finds and invokes such functions.
|
|:checkhealth| automatically finds and invokes such functions.
|
||||||
|
|
||||||
If your plugin is named "jslint", then its healthcheck function must be >
|
If your plugin is named "foo", then its healthcheck function must be >
|
||||||
health#jslint#check()
|
health#foo#check()
|
||||||
|
|
||||||
defined in this file on 'runtimepath': >
|
defined in this file on 'runtimepath': >
|
||||||
autoload/health/jslint.vim
|
autoload/health/foo.vim
|
||||||
|
|
||||||
Here's a sample to get started: >
|
Copy this sample code into autoload/health/foo.vim and replace "foo" with your
|
||||||
function! health#jslint#check() abort
|
plugin name: >
|
||||||
|
function! health#foo#check() abort
|
||||||
call health#report_start('sanity checks')
|
call health#report_start('sanity checks')
|
||||||
" perform arbitrary checks
|
" perform arbitrary checks
|
||||||
" ...
|
" ...
|
||||||
@@ -111,8 +95,8 @@ Here's a sample to get started: >
|
|||||||
if looks_good
|
if looks_good
|
||||||
call health#report_ok('found required dependencies')
|
call health#report_ok('found required dependencies')
|
||||||
else
|
else
|
||||||
call health#report_error('cannot find jslint',
|
call health#report_error('cannot find foo',
|
||||||
\ ['npm install --save jslint'])
|
\ ['npm install --save foo'])
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
@@ -20,7 +20,7 @@ Note: Only the Vim 7.3 API is supported; bindeval (Vim 7.4) is not.
|
|||||||
PYTHON QUICKSTART ~
|
PYTHON QUICKSTART ~
|
||||||
|
|
||||||
If you used a package manager to install Nvim, you might already have the
|
If you used a package manager to install Nvim, you might already have the
|
||||||
required `neovim` Python package. Run |:CheckHealth| to see if your system is
|
required `neovim` Python package. Run |:checkhealth| to see if your system is
|
||||||
up-to-date.
|
up-to-date.
|
||||||
|
|
||||||
Following are steps to install the package with Python's `pip` tool.
|
Following are steps to install the package with Python's `pip` tool.
|
||||||
@@ -88,7 +88,7 @@ Ruby integration *provider-ruby*
|
|||||||
Nvim supports the Vim legacy |ruby-vim| interface via external Ruby
|
Nvim supports the Vim legacy |ruby-vim| interface via external Ruby
|
||||||
interpreters connected via |RPC|.
|
interpreters connected via |RPC|.
|
||||||
|
|
||||||
Run |:CheckHealth| to see if your system is up-to-date.
|
Run |:checkhealth| to see if your system is up-to-date.
|
||||||
|
|
||||||
RUBY QUICKSTART ~
|
RUBY QUICKSTART ~
|
||||||
|
|
||||||
|
@@ -127,7 +127,7 @@ Variables:
|
|||||||
|v:windowid| is always available (for use by external UIs)
|
|v:windowid| is always available (for use by external UIs)
|
||||||
|
|
||||||
Commands:
|
Commands:
|
||||||
|:CheckHealth|
|
|:checkhealth|
|
||||||
|:drop| is available on all platforms
|
|:drop| is available on all platforms
|
||||||
|:Man| is available by default, with many improvements such as completion
|
|:Man| is available by default, with many improvements such as completion
|
||||||
|
|
||||||
|
@@ -5535,7 +5535,7 @@ int get_default_register_name(void)
|
|||||||
static yankreg_T *adjust_clipboard_name(int *name, bool quiet, bool writing)
|
static yankreg_T *adjust_clipboard_name(int *name, bool quiet, bool writing)
|
||||||
{
|
{
|
||||||
#define MSG_NO_CLIP "clipboard: No provider. " \
|
#define MSG_NO_CLIP "clipboard: No provider. " \
|
||||||
"Try \":CheckHealth\" or \":h clipboard\"."
|
"Try \":checkhealth\" or \":h clipboard\"."
|
||||||
|
|
||||||
yankreg_T *target = NULL;
|
yankreg_T *target = NULL;
|
||||||
bool explicit_cb_reg = (*name == '*' || *name == '+');
|
bool explicit_cb_reg = (*name == '*' || *name == '+');
|
||||||
|
@@ -1365,7 +1365,7 @@ void intro_message(int colon)
|
|||||||
N_("https://neovim.io/community"),
|
N_("https://neovim.io/community"),
|
||||||
"",
|
"",
|
||||||
N_("type :help nvim<Enter> if you are new! "),
|
N_("type :help nvim<Enter> if you are new! "),
|
||||||
N_("type :CheckHealth<Enter> to optimize Nvim"),
|
N_("type :checkhealth<Enter> to optimize Nvim"),
|
||||||
N_("type :q<Enter> to exit "),
|
N_("type :q<Enter> to exit "),
|
||||||
N_("type :help<Enter> for help "),
|
N_("type :help<Enter> for help "),
|
||||||
"",
|
"",
|
||||||
|
@@ -100,7 +100,7 @@ describe('clipboard', function()
|
|||||||
^ |
|
^ |
|
||||||
~ |
|
~ |
|
||||||
~ |
|
~ |
|
||||||
clipboard: No provider. Try ":CheckHealth" or ":h clipboard". |
|
clipboard: No provider. Try ":checkhealth" or ":h clipboard". |
|
||||||
]], nil, {{bold = true, foreground = Screen.colors.Blue}})
|
]], nil, {{bold = true, foreground = Screen.colors.Blue}})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ describe('clipboard', function()
|
|||||||
feed_command('redir @+> | bogus_cmd | redir END')
|
feed_command('redir @+> | bogus_cmd | redir END')
|
||||||
screen:expect([[
|
screen:expect([[
|
||||||
~ |
|
~ |
|
||||||
clipboard: No provider. Try ":CheckHealth" or ":h clipboard". |
|
clipboard: No provider. Try ":checkhealth" or ":h clipboard". |
|
||||||
E492: Not an editor command: bogus_cmd | redir END |
|
E492: Not an editor command: bogus_cmd | redir END |
|
||||||
Press ENTER or type command to continue^ |
|
Press ENTER or type command to continue^ |
|
||||||
]], nil, {{bold = true, foreground = Screen.colors.Blue}})
|
]], nil, {{bold = true, foreground = Screen.colors.Blue}})
|
||||||
@@ -132,7 +132,7 @@ describe('clipboard', function()
|
|||||||
^ |
|
^ |
|
||||||
~ |
|
~ |
|
||||||
~ |
|
~ |
|
||||||
clipboard: No provider. Try ":CheckHealth" or ":h clipboard". |
|
clipboard: No provider. Try ":checkhealth" or ":h clipboard". |
|
||||||
]], nil, {{bold = true, foreground = Screen.colors.Blue}})
|
]], nil, {{bold = true, foreground = Screen.colors.Blue}})
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
@@ -68,7 +68,7 @@ describe('health.vim', function()
|
|||||||
|
|
||||||
describe(":checkhealth", function()
|
describe(":checkhealth", function()
|
||||||
it("concatenates multiple reports", function()
|
it("concatenates multiple reports", function()
|
||||||
command("CheckHealth success1 success2")
|
command("checkhealth success1 success2")
|
||||||
helpers.expect([[
|
helpers.expect([[
|
||||||
|
|
||||||
health#success1#check
|
health#success1#check
|
||||||
@@ -87,7 +87,7 @@ describe('health.vim', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
it("gracefully handles broken healthcheck", function()
|
it("gracefully handles broken healthcheck", function()
|
||||||
command("CheckHealth broken")
|
command("checkhealth broken")
|
||||||
helpers.expect([[
|
helpers.expect([[
|
||||||
|
|
||||||
health#broken#check
|
health#broken#check
|
||||||
@@ -111,7 +111,7 @@ describe('health.vim', function()
|
|||||||
Bar = { foreground=Screen.colors.Purple },
|
Bar = { foreground=Screen.colors.Purple },
|
||||||
Bullet = { bold=true, foreground=Screen.colors.Brown },
|
Bullet = { bold=true, foreground=Screen.colors.Brown },
|
||||||
})
|
})
|
||||||
command("CheckHealth foo success1")
|
command("checkhealth foo success1")
|
||||||
command("1tabclose")
|
command("1tabclose")
|
||||||
command("set laststatus=0")
|
command("set laststatus=0")
|
||||||
screen:expect([[
|
screen:expect([[
|
||||||
@@ -129,7 +129,7 @@ describe('health.vim', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
it("gracefully handles invalid healthcheck", function()
|
it("gracefully handles invalid healthcheck", function()
|
||||||
command("CheckHealth non_existent_healthcheck")
|
command("checkhealth non_existent_healthcheck")
|
||||||
helpers.expect([[
|
helpers.expect([[
|
||||||
|
|
||||||
health#non_existent_healthcheck#check
|
health#non_existent_healthcheck#check
|
||||||
|
@@ -16,7 +16,7 @@ do
|
|||||||
clear()
|
clear()
|
||||||
if missing_provider('ruby') then
|
if missing_provider('ruby') then
|
||||||
pending(
|
pending(
|
||||||
"Cannot find the neovim RubyGem. Try :CheckHealth",
|
"Cannot find the neovim RubyGem. Try :checkhealth",
|
||||||
function() end)
|
function() end)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user