# HG changeset patch # User Bram Moolenaar # Date 1616938205 -7200 # Node ID b471a413d36a07c7dc4560976dd6fba593e9e133 # Parent 811f6574df570d05906f256f30ddbb22dab94683 patch 8.2.2669: command line completion does not work after "vim9" Commit: https://github.com/vim/vim/commit/df749a2b9cab579b8c0ca6ca91889aa03d2da704 Author: Bram Moolenaar Date: Sun Mar 28 15:29:43 2021 +0200 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 https://github.com/vim/vim/issues/8025) diff --git a/src/cmdexpand.c b/src/cmdexpand.c --- a/src/cmdexpand.c +++ b/src/cmdexpand.c @@ -1020,8 +1020,9 @@ set_one_cmd_context( 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 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3553,7 +3553,7 @@ find_ex_command( } 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 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -871,6 +871,10 @@ func Test_cmdline_complete_various() call feedkeys(":py3\\\"\", 'xt') call assert_equal('"py3 py3do py3file', @:) + " completion for the :vim9 commands + call feedkeys(":vim9\\\"\", 'xt') + call assert_equal('"vim9cmd vim9script', @:) + " redir @" is not the start of a comment. So complete after that call feedkeys(":redir @\" | cwin\t\\"\", 'xt') call assert_equal('"redir @" | cwindow', @:) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2669, +/**/ 2668, /**/ 2667,