1
0
forked from aniani/vim

updated for version 7.3.1148

Problem:    No command line completion for ":syntime".
Solution:   Implement the completion. (Dominique Pelle)
This commit is contained in:
Bram Moolenaar
2013-06-08 15:24:48 +02:00
parent 87f764a891
commit cd9c46265e
8 changed files with 41 additions and 1 deletions

View File

@@ -1242,6 +1242,7 @@ completion can be enabled:
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
-complete=syntime |:syntime| suboptions
-complete=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
-complete=user user names

View File

@@ -926,7 +926,7 @@ EX(CMD_swapname, "swapname", ex_swapname,
EX(CMD_syntax, "syntax", ex_syntax,
EXTRA|NOTRLCOM|CMDWIN),
EX(CMD_syntime, "syntime", ex_syntime,
WORD1|TRLBAR|CMDWIN),
NEEDARG|WORD1|TRLBAR|CMDWIN),
EX(CMD_syncbind, "syncbind", ex_syncbind,
TRLBAR),
EX(CMD_t, "t", ex_copymove,

View File

@@ -3994,6 +3994,12 @@ set_one_cmd_context(xp, buff)
xp->xp_pattern = arg;
break;
#endif
#if defined(FEAT_PROFILE)
case CMD_syntime:
xp->xp_context = EXPAND_SYNTIME;
xp->xp_pattern = arg;
break;
#endif
#endif /* FEAT_CMDL_COMPL */
@@ -5436,6 +5442,9 @@ static struct
{EXPAND_MAPPINGS, "mapping"},
{EXPAND_MENUS, "menu"},
{EXPAND_OWNSYNTAX, "syntax"},
#if defined(FEAT_PROFILE)
{EXPAND_SYNTIME, "syntime"},
#endif
{EXPAND_SETTINGS, "option"},
{EXPAND_SHELLCMD, "shellcmd"},
#if defined(FEAT_SIGNS)

View File

@@ -4673,6 +4673,9 @@ ExpandFromContext(xp, pat, num_file, file, options)
#endif
#ifdef FEAT_SYN_HL
{EXPAND_SYNTAX, get_syntax_name, TRUE, TRUE},
#endif
#ifdef FEAT_PROFILE
{EXPAND_SYNTIME, get_syntime_arg, TRUE, TRUE},
#endif
{EXPAND_HIGHLIGHT, get_highlight_name, TRUE, TRUE},
#ifdef FEAT_AUTOCMD

View File

@@ -20,6 +20,7 @@ int syn_get_sub_char __ARGS((void));
int syn_get_stack_item __ARGS((int i));
int syn_get_foldlevel __ARGS((win_T *wp, long lnum));
void ex_syntime __ARGS((exarg_T *eap));
char_u *get_syntime_arg __ARGS((expand_T *xp, int idx));
void init_highlight __ARGS((int both, int reset));
int load_colors __ARGS((char_u *name));
void do_highlight __ARGS((char_u *line, int forceit, int init));

View File

@@ -6577,6 +6577,27 @@ syntime_clear()
}
}
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
/*
* Function given to ExpandGeneric() to obtain the possible arguments of the
* ":syntime {on,off,clear,report}" command.
*/
char_u *
get_syntime_arg(xp, idx)
expand_T *xp UNUSED;
int idx;
{
switch (idx)
{
case 0: return (char_u *)"on";
case 1: return (char_u *)"off";
case 2: return (char_u *)"clear";
case 3: return (char_u *)"report";
}
return NULL;
}
#endif
typedef struct
{
proftime_T total;
@@ -6610,7 +6631,9 @@ syntime_report()
{
int idx;
synpat_T *spp;
# ifdef FEAT_FLOAT
proftime_T tm;
# endif
int len;
proftime_T total_total;
int total_count = 0;

View File

@@ -728,6 +728,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1148,
/**/
1147,
/**/

View File

@@ -783,6 +783,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
#define EXPAND_LOCALES 40
#define EXPAND_HISTORY 41
#define EXPAND_USER 42
#define EXPAND_SYNTIME 43
/* Values for exmode_active (0 is no exmode) */
#define EXMODE_NORMAL 1