patch 8.2.2669: command line completion does not work after "vim9"
Problem: Command line completion does not work after "vim9".
Solution: Include the "9". (Naohiro Ono, closes #8025)
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index d51f5c6..280b9e4 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -1020,8 +1020,9 @@
p = cmd;
while (ASCII_ISALPHA(*p) || *p == '*') // Allow * wild card
++p;
- // a user command may contain digits
- if (ASCII_ISUPPER(cmd[0]))
+ // A user command may contain digits.
+ // Include "9" for "vim9*" commands; "vim9cmd" and "vim9script".
+ if (ASCII_ISUPPER(cmd[0]) || STRNCMP("vim9", cmd, 4) == 0)
while (ASCII_ISALNUM(*p) || *p == '*')
++p;
// for python 3.x: ":py3*" commands completion
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 7a03597..b4e3553 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3553,7 +3553,7 @@
}
else if (*p == '9' && STRNCMP("vim9", eap->cmd, 4) == 0)
{
- // include "9" for "vim9script"
+ // include "9" for "vim9*" commands; "vim9cmd" and "vim9script".
++p;
while (ASCII_ISALPHA(*p))
++p;
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 05d90f7..531837b 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -871,6 +871,10 @@
call feedkeys(":py3\<C-A>\<C-B>\"\<CR>", 'xt')
call assert_equal('"py3 py3do py3file', @:)
+ " completion for the :vim9 commands
+ call feedkeys(":vim9\<C-A>\<C-B>\"\<CR>", 'xt')
+ call assert_equal('"vim9cmd vim9script', @:)
+
" redir @" is not the start of a comment. So complete after that
call feedkeys(":redir @\" | cwin\t\<C-B>\"\<CR>", 'xt')
call assert_equal('"redir @" | cwindow', @:)
diff --git a/src/version.c b/src/version.c
index 716f41e..00d2fd7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2669,
+/**/
2668,
/**/
2667,