Add completion for :checkhealth

This commit is contained in:
Marco Hinz 2018-01-18 01:49:42 +01:00
parent bc17ad31dc
commit 6acbd76b00
No known key found for this signature in database
GPG Key ID: 1C980A1B657B4A4F
3 changed files with 17 additions and 7 deletions

View File

@ -3442,6 +3442,10 @@ const char * set_one_cmd_context(
case CMD_profile: case CMD_profile:
set_context_in_profile_cmd(xp, arg); set_context_in_profile_cmd(xp, arg);
break; break;
case CMD_checkhealth:
xp->xp_context = EXPAND_CHECKHEALTH;
xp->xp_pattern = (char_u *)arg;
break;
case CMD_behave: case CMD_behave:
xp->xp_context = EXPAND_BEHAVE; xp->xp_context = EXPAND_BEHAVE;
xp->xp_pattern = (char_u *)arg; xp->xp_pattern = (char_u *)arg;
@ -4871,6 +4875,7 @@ static struct {
{ EXPAND_AUGROUP, "augroup" }, { EXPAND_AUGROUP, "augroup" },
{ EXPAND_BEHAVE, "behave" }, { EXPAND_BEHAVE, "behave" },
{ EXPAND_BUFFERS, "buffer" }, { EXPAND_BUFFERS, "buffer" },
{ EXPAND_CHECKHEALTH, "checkhealth" },
{ EXPAND_COLORS, "color" }, { EXPAND_COLORS, "color" },
{ EXPAND_COMMANDS, "command" }, { EXPAND_COMMANDS, "command" },
{ EXPAND_COMPILER, "compiler" }, { EXPAND_COMPILER, "compiler" },

View File

@ -4257,20 +4257,20 @@ addstar (
* use with vim_regcomp(). First work out how long it will be: * use with vim_regcomp(). First work out how long it will be:
*/ */
/* For help tags the translation is done in find_help_tags(). // For help tags the translation is done in find_help_tags().
* For a tag pattern starting with "/" no translation is needed. */ // For a tag pattern starting with "/" no translation is needed.
if (context == EXPAND_HELP if (context == EXPAND_HELP
|| context == EXPAND_CHECKHEALTH
|| context == EXPAND_COLORS || context == EXPAND_COLORS
|| context == EXPAND_COMPILER || context == EXPAND_COMPILER
|| context == EXPAND_OWNSYNTAX || context == EXPAND_OWNSYNTAX
|| context == EXPAND_FILETYPE || context == EXPAND_FILETYPE
|| context == EXPAND_PACKADD || context == EXPAND_PACKADD
|| ((context == EXPAND_TAGS_LISTFILES || ((context == EXPAND_TAGS_LISTFILES || context == EXPAND_TAGS)
|| context == EXPAND_TAGS) && fname[0] == '/')) {
&& fname[0] == '/'))
retval = vim_strnsave(fname, len); retval = vim_strnsave(fname, len);
else { } else {
new_len = len + 2; /* +2 for '^' at start, NUL at end */ new_len = len + 2; // +2 for '^' at start, NUL at end
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
if (fname[i] == '*' || fname[i] == '~') if (fname[i] == '*' || fname[i] == '~')
new_len++; /* '*' needs to be replaced by ".*" new_len++; /* '*' needs to be replaced by ".*"
@ -4667,6 +4667,10 @@ ExpandFromContext (
char *directories[] = { "syntax", "indent", "ftplugin", NULL }; char *directories[] = { "syntax", "indent", "ftplugin", NULL };
return ExpandRTDir(pat, 0, num_file, file, directories); return ExpandRTDir(pat, 0, num_file, file, directories);
} }
if (xp->xp_context == EXPAND_CHECKHEALTH) {
char *directories[] = { "autoload/health", NULL };
return ExpandRTDir(pat, 0, num_file, file, directories);
}
if (xp->xp_context == EXPAND_USER_LIST) { if (xp->xp_context == EXPAND_USER_LIST) {
return ExpandUserList(xp, num_file, file); return ExpandUserList(xp, num_file, file);
} }

View File

@ -155,6 +155,7 @@ enum {
EXPAND_USER_ADDR_TYPE, EXPAND_USER_ADDR_TYPE,
EXPAND_PACKADD, EXPAND_PACKADD,
EXPAND_MESSAGES, EXPAND_MESSAGES,
EXPAND_CHECKHEALTH,
}; };