mirror of
https://github.com/vim/vim.git
synced 2025-09-07 22:03:36 -04:00
updated for version 7.3.514
Problem: No completion for :history command. Solution: Add the completion and update the docs. Also fix ":behave" completion. (Dominique Pelle)
This commit is contained in:
parent
8320da42bc
commit
5ae636b9bb
@ -330,12 +330,12 @@ terminals)
|
|||||||
|
|
||||||
:his[tory] [{name}] [{first}][, [{last}]]
|
:his[tory] [{name}] [{first}][, [{last}]]
|
||||||
List the contents of history {name} which can be:
|
List the contents of history {name} which can be:
|
||||||
c[md] or : command-line history
|
c[md] or : command-line history
|
||||||
s[earch] or / search string history
|
s[earch] or / or ? search string history
|
||||||
e[xpr] or = expression register history
|
e[xpr] or = expression register history
|
||||||
i[nput] or @ input line history
|
i[nput] or @ input line history
|
||||||
d[ebug] or > debug command history
|
d[ebug] or > debug command history
|
||||||
a[ll] all of the above
|
a[ll] all of the above
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
If the numbers {first} and/or {last} are given, the respective
|
If the numbers {first} and/or {last} are given, the respective
|
||||||
|
@ -1219,6 +1219,7 @@ completion can be enabled:
|
|||||||
|
|
||||||
-complete=augroup autocmd groups
|
-complete=augroup autocmd groups
|
||||||
-complete=buffer buffer names
|
-complete=buffer buffer names
|
||||||
|
-complete=behave :behave suboptions
|
||||||
-complete=color color schemes
|
-complete=color color schemes
|
||||||
-complete=command Ex command (and arguments)
|
-complete=command Ex command (and arguments)
|
||||||
-complete=compiler compilers
|
-complete=compiler compilers
|
||||||
@ -1233,6 +1234,7 @@ completion can be enabled:
|
|||||||
-complete=function function name
|
-complete=function function name
|
||||||
-complete=help help subjects
|
-complete=help help subjects
|
||||||
-complete=highlight highlight groups
|
-complete=highlight highlight groups
|
||||||
|
-complete=history :history suboptions
|
||||||
-complete=locale locale names (as output of locale -a)
|
-complete=locale locale names (as output of locale -a)
|
||||||
-complete=mapping mapping name
|
-complete=mapping mapping name
|
||||||
-complete=menu menus
|
-complete=menu menus
|
||||||
|
@ -3920,8 +3920,16 @@ set_one_cmd_context(xp, buff)
|
|||||||
#endif
|
#endif
|
||||||
case CMD_behave:
|
case CMD_behave:
|
||||||
xp->xp_context = EXPAND_BEHAVE;
|
xp->xp_context = EXPAND_BEHAVE;
|
||||||
|
xp->xp_pattern = arg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#if defined(FEAT_CMDHIST)
|
||||||
|
case CMD_history:
|
||||||
|
xp->xp_context = EXPAND_HISTORY;
|
||||||
|
xp->xp_pattern = arg;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* FEAT_CMDL_COMPL */
|
#endif /* FEAT_CMDL_COMPL */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -5329,6 +5337,7 @@ static struct
|
|||||||
} command_complete[] =
|
} command_complete[] =
|
||||||
{
|
{
|
||||||
{EXPAND_AUGROUP, "augroup"},
|
{EXPAND_AUGROUP, "augroup"},
|
||||||
|
{EXPAND_BEHAVE, "behave"},
|
||||||
{EXPAND_BUFFERS, "buffer"},
|
{EXPAND_BUFFERS, "buffer"},
|
||||||
{EXPAND_COLORS, "color"},
|
{EXPAND_COLORS, "color"},
|
||||||
{EXPAND_COMMANDS, "command"},
|
{EXPAND_COMMANDS, "command"},
|
||||||
@ -5350,8 +5359,11 @@ static struct
|
|||||||
{EXPAND_FUNCTIONS, "function"},
|
{EXPAND_FUNCTIONS, "function"},
|
||||||
{EXPAND_HELP, "help"},
|
{EXPAND_HELP, "help"},
|
||||||
{EXPAND_HIGHLIGHT, "highlight"},
|
{EXPAND_HIGHLIGHT, "highlight"},
|
||||||
|
#if defined(FEAT_CMDHIST)
|
||||||
|
{EXPAND_HISTORY, "history"},
|
||||||
|
#endif
|
||||||
#if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
|
#if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
|
||||||
&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
|
&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
|
||||||
{EXPAND_LOCALES, "locale"},
|
{EXPAND_LOCALES, "locale"},
|
||||||
#endif
|
#endif
|
||||||
{EXPAND_MAPPINGS, "mapping"},
|
{EXPAND_MAPPINGS, "mapping"},
|
||||||
|
@ -25,7 +25,7 @@ struct cmdline_info
|
|||||||
int cmdlen; /* number of chars in command line */
|
int cmdlen; /* number of chars in command line */
|
||||||
int cmdpos; /* current cursor position */
|
int cmdpos; /* current cursor position */
|
||||||
int cmdspos; /* cursor column on screen */
|
int cmdspos; /* cursor column on screen */
|
||||||
int cmdfirstc; /* ':', '/', '?', '=' or NUL */
|
int cmdfirstc; /* ':', '/', '?', '=', '>' or NUL */
|
||||||
int cmdindent; /* number of spaces before cmdline */
|
int cmdindent; /* number of spaces before cmdline */
|
||||||
char_u *cmdprompt; /* message in front of cmdline */
|
char_u *cmdprompt; /* message in front of cmdline */
|
||||||
int cmdattr; /* attributes for prompt */
|
int cmdattr; /* attributes for prompt */
|
||||||
@ -111,6 +111,9 @@ static int expand_showtail __ARGS((expand_T *xp));
|
|||||||
#ifdef FEAT_CMDL_COMPL
|
#ifdef FEAT_CMDL_COMPL
|
||||||
static int expand_shellcmd __ARGS((char_u *filepat, int *num_file, char_u ***file, int flagsarg));
|
static int expand_shellcmd __ARGS((char_u *filepat, int *num_file, char_u ***file, int flagsarg));
|
||||||
static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
|
static int ExpandRTDir __ARGS((char_u *pat, int *num_file, char_u ***file, char *dirname[]));
|
||||||
|
# ifdef FEAT_CMDHIST
|
||||||
|
static char_u *get_history_arg __ARGS((expand_T *xp, int idx));
|
||||||
|
# endif
|
||||||
# if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
|
# if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
|
||||||
static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
|
static int ExpandUserDefined __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file));
|
||||||
static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
|
static int ExpandUserList __ARGS((expand_T *xp, int *num_file, char_u ***file));
|
||||||
@ -4628,6 +4631,9 @@ ExpandFromContext(xp, pat, num_file, file, options)
|
|||||||
{
|
{
|
||||||
{EXPAND_COMMANDS, get_command_name, FALSE, TRUE},
|
{EXPAND_COMMANDS, get_command_name, FALSE, TRUE},
|
||||||
{EXPAND_BEHAVE, get_behave_arg, TRUE, TRUE},
|
{EXPAND_BEHAVE, get_behave_arg, TRUE, TRUE},
|
||||||
|
#ifdef FEAT_CMDHIST
|
||||||
|
{EXPAND_HISTORY, get_history_arg, TRUE, TRUE},
|
||||||
|
#endif
|
||||||
#ifdef FEAT_USR_CMDS
|
#ifdef FEAT_USR_CMDS
|
||||||
{EXPAND_USER_COMMANDS, get_user_commands, FALSE, TRUE},
|
{EXPAND_USER_COMMANDS, get_user_commands, FALSE, TRUE},
|
||||||
{EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE, TRUE},
|
{EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE, TRUE},
|
||||||
@ -5245,6 +5251,34 @@ static char *(history_names[]) =
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
|
||||||
|
/*
|
||||||
|
* Function given to ExpandGeneric() to obtain the possible first
|
||||||
|
* arguments of the ":history command.
|
||||||
|
*/
|
||||||
|
static char_u *
|
||||||
|
get_history_arg(xp, idx)
|
||||||
|
expand_T *xp UNUSED;
|
||||||
|
int idx;
|
||||||
|
{
|
||||||
|
static char_u compl[2] = { NUL, NUL };
|
||||||
|
char *short_names = ":=@>?/";
|
||||||
|
int short_names_count = STRLEN(short_names);
|
||||||
|
int history_name_count = sizeof(history_names) / sizeof(char *) - 1;
|
||||||
|
|
||||||
|
if (idx < short_names_count)
|
||||||
|
{
|
||||||
|
compl[0] = (char_u)short_names[idx];
|
||||||
|
return compl;
|
||||||
|
}
|
||||||
|
if (idx < short_names_count + history_name_count)
|
||||||
|
return (char_u *)history_names[idx - short_names_count];
|
||||||
|
if (idx == short_names_count + history_name_count)
|
||||||
|
return (char_u *)"all";
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* init_history() - Initialize the command line history.
|
* init_history() - Initialize the command line history.
|
||||||
* Also used to re-allocate the history when the size changes.
|
* Also used to re-allocate the history when the size changes.
|
||||||
|
@ -714,6 +714,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
514,
|
||||||
/**/
|
/**/
|
||||||
513,
|
513,
|
||||||
/**/
|
/**/
|
||||||
|
@ -781,6 +781,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
|
|||||||
#define EXPAND_FILES_IN_PATH 38
|
#define EXPAND_FILES_IN_PATH 38
|
||||||
#define EXPAND_OWNSYNTAX 39
|
#define EXPAND_OWNSYNTAX 39
|
||||||
#define EXPAND_LOCALES 40
|
#define EXPAND_LOCALES 40
|
||||||
|
#define EXPAND_HISTORY 41
|
||||||
|
|
||||||
/* Values for exmode_active (0 is no exmode) */
|
/* Values for exmode_active (0 is no exmode) */
|
||||||
#define EXMODE_NORMAL 1
|
#define EXMODE_NORMAL 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user