diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-03-28 15:29:43 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-03-28 15:29:43 +0200 |
commit | df749a2b9cab579b8c0ca6ca91889aa03d2da704 (patch) | |
tree | f0dffeb213e4259a74dbaa241e9f51562077d89f | |
parent | f49a1fcdb952ca270f108fcc27bb8ad6922e0807 (diff) |
patch 8.2.2669: command line completion does not work after "vim9"v8.2.2669
Problem: Command line completion does not work after "vim9".
Solution: Include the "9". (Naohiro Ono, closes #8025)
-rw-r--r-- | src/cmdexpand.c | 5 | ||||
-rw-r--r-- | src/ex_docmd.c | 2 | ||||
-rw-r--r-- | src/testdir/test_cmdline.vim | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 10 insertions, 3 deletions
diff --git a/src/cmdexpand.c b/src/cmdexpand.c index d51f5c6428..280b9e415c 100644 --- 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 index 7a03597213..b4e35537d7 100644 --- 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 index 05d90f74d1..531837b223 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -871,6 +871,10 @@ func Test_cmdline_complete_various() 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 716f41ea72..00d2fd74a3 100644 --- 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, |