aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-12-25 11:11:31 -0500
committerGitHub <noreply@github.com>2020-12-25 11:11:31 -0500
commit84faeb07d0018c674c2bc730333fefae6123f366 (patch)
tree61c974e7925f08fd6ba364ba0165922c3ef4acd2 /src/nvim/eval.c
parent8c8cc35926f265bf4f048b83fd130bef3932851e (diff)
parent43834b24ac6037ec7678872877d3370134e46024 (diff)
downloadrneovim-84faeb07d0018c674c2bc730333fefae6123f366.tar.gz
rneovim-84faeb07d0018c674c2bc730333fefae6123f366.tar.bz2
rneovim-84faeb07d0018c674c2bc730333fefae6123f366.zip
Merge pull request #13602 from janlazo/vim-8.2.2206
vim-patch:8.1.2212,8.2.{51,782,856,1174,1212,2206,2211}
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index cc707c0c84..10a382ec4e 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -2556,6 +2556,7 @@ void free_for_info(void *fi_void)
void set_context_for_expression(expand_T *xp, char_u *arg, cmdidx_T cmdidx)
+ FUNC_ATTR_NONNULL_ALL
{
int got_eq = FALSE;
int c;
@@ -2638,6 +2639,23 @@ void set_context_for_expression(expand_T *xp, char_u *arg, cmdidx_T cmdidx)
}
}
}
+
+ // ":exe one two" completes "two"
+ if ((cmdidx == CMD_execute
+ || cmdidx == CMD_echo
+ || cmdidx == CMD_echon
+ || cmdidx == CMD_echomsg)
+ && xp->xp_context == EXPAND_EXPRESSION) {
+ for (;;) {
+ char_u *const n = skiptowhite(arg);
+
+ if (n == arg || ascii_iswhite_or_nul(*skipwhite(n))) {
+ break;
+ }
+ arg = skipwhite(n);
+ }
+ }
+
xp->xp_pattern = arg;
}