summaryrefslogtreecommitdiffstats
path: root/src/cmdexpand.c
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2022-07-26 22:01:36 +0100
committerBram Moolenaar <Bram@vim.org>2022-07-26 22:01:36 +0100
commit7db3a8e3298bf7c7c3f74cc9c1add04f29e78d2d (patch)
tree19f71ae7d60a24136a029b9d12685924054d7a00 /src/cmdexpand.c
parent30e212dac1d29536883c36918a465a38d81d6413 (diff)
patch 9.0.0089: fuzzy argument completion doesn't work for shell commandsv9.0.0089
Problem: Fuzzy argument completion doesn't work for shell commands. Solution: Check for cmdidx not being CMD_bang. (Yegappan Lakshmanan, closes #10769)
Diffstat (limited to 'src/cmdexpand.c')
-rw-r--r--src/cmdexpand.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 28ecaeda97..793a104d06 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -1305,8 +1305,10 @@ set_cmd_index(char_u *cmd, exarg_T *eap, expand_T *xp, int *complp)
eap->cmdidx = excmd_get_cmdidx(cmd, len);
// User defined commands support alphanumeric characters.
- // Also when doing fuzzy expansion, support alphanumeric characters.
- if ((cmd[0] >= 'A' && cmd[0] <= 'Z') || (fuzzy && *p != NUL))
+ // Also when doing fuzzy expansion for non-shell commands, support
+ // alphanumeric characters.
+ if ((cmd[0] >= 'A' && cmd[0] <= 'Z')
+ || (fuzzy && eap->cmdidx != CMD_bang && *p != NUL))
while (ASCII_ISALNUM(*p) || *p == '*') // Allow * wild card
++p;
}