summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-03-10 21:46:58 +0000
committerBram Moolenaar <Bram@vim.org>2006-03-10 21:46:58 +0000
commitade0083d3ad61d86368a77bd1e499231eea9a3eb (patch)
treee27c131c9a26aab271b9effdf784338f1884b1a2 /src/eval.c
parenta94bc430e81fb52b982fc3bdf8da60e585b91f58 (diff)
downloadvim-git-ade0083d3ad61d86368a77bd1e499231eea9a3eb.tar.gz
updated for version 7.0220v7.0220
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c31
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*/