Mercurial > vim
changeset 4803:220bdea4f579 v7.3.1148
updated for version 7.3.1148
Problem: No command line completion for ":syntime".
Solution: Implement the completion. (Dominique Pelle)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 08 Jun 2013 15:24:48 +0200 |
parents | 8adbe7dae7fd |
children | 62663cfeb216 |
files | runtime/doc/map.txt src/ex_cmds.h src/ex_docmd.c src/ex_getln.c src/proto/syntax.pro src/syntax.c src/version.c src/vim.h |
diffstat | 8 files changed, 41 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -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
--- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -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,
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -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)
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -4674,6 +4674,9 @@ ExpandFromContext(xp, pat, num_file, fil #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 {EXPAND_EVENTS, get_event_name, TRUE, TRUE},
--- a/src/proto/syntax.pro +++ b/src/proto/syntax.pro @@ -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));
--- a/src/syntax.c +++ b/src/syntax.c @@ -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;