diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-03-10 21:46:58 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-03-10 21:46:58 +0000 |
commit | ade0083d3ad61d86368a77bd1e499231eea9a3eb (patch) | |
tree | e27c131c9a26aab271b9effdf784338f1884b1a2 /src/eval.c | |
parent | a94bc430e81fb52b982fc3bdf8da60e585b91f58 (diff) | |
download | vim-git-ade0083d3ad61d86368a77bd1e499231eea9a3eb.tar.gz |
updated for version 7.0220v7.0220
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index 423129b24..fdb7e81a8 100644 --- a/src/eval.c +++ b/src/eval.c @@ -467,6 +467,7 @@ static void f_char2nr __ARGS((typval_T *argvars, typval_T *rettv)); static void f_cindent __ARGS((typval_T *argvars, typval_T *rettv)); static void f_col __ARGS((typval_T *argvars, typval_T *rettv)); #if defined(FEAT_INS_EXPAND) +static void f_complete __ARGS((typval_T *argvars, typval_T *rettv)); static void f_complete_add __ARGS((typval_T *argvars, typval_T *rettv)); static void f_complete_check __ARGS((typval_T *argvars, typval_T *rettv)); #endif @@ -6884,6 +6885,7 @@ static struct fst {"cindent", 1, 1, f_cindent}, {"col", 1, 1, f_col}, #if defined(FEAT_INS_EXPAND) + {"complete", 2, 2, f_complete}, {"complete_add", 1, 1, f_complete_add}, {"complete_check", 0, 0, f_complete_check}, #endif @@ -8102,6 +8104,35 @@ f_col(argvars, rettv) #if defined(FEAT_INS_EXPAND) /* + * "complete()" function + */ +/*ARGSUSED*/ + static void +f_complete(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + int startcol; + + if ((State & INSERT) == 0) + { + EMSG(_("E785: complete() can only be used in Insert mode")); + return; + } + if (argvars[1].v_type != VAR_LIST || argvars[1].vval.v_list == NULL) + { + EMSG(_(e_invarg)); + return; + } + + startcol = get_tv_number_chk(&argvars[0], NULL); + if (startcol <= 0) + return; + + set_completion(startcol - 1, argvars[1].vval.v_list); +} + +/* * "complete_add()" function */ /*ARGSUSED*/ |