changeset 27187:8950a7b6cc89 v8.2.4122

patch 8.2.4122: ":command Cmd" does not show custom completion argument Commit: https://github.com/vim/vim/commit/3f3597be3ffa9ae226b2e9831e4ed64c8ae43c42 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jan 17 19:06:56 2022 +0000 patch 8.2.4122: ":command Cmd" does not show custom completion argument Problem: ":command Cmd" does not show custom completion argument. Solution: Show the completion argument when using ":verbose".
author Bram Moolenaar <Bram@vim.org>
date Mon, 17 Jan 2022 20:15:03 +0100
parents 0ef7a05715d3
children f06a8d622851
files src/testdir/test_usercommands.vim src/usercmd.c src/version.c
diffstat 3 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_usercommands.vim
+++ b/src/testdir/test_usercommands.vim
@@ -589,10 +589,10 @@ func Test_command_list()
         \           execute('command DoCmd'))
 
   " Test output in verbose mode.
-  command! DoCmd :
+  command! -nargs=+ -complete=customlist,SomeFunc DoCmd :ls
   call assert_match("^\n"
         \        .. "    Name              Args Address Complete    Definition\n"
-        \        .. "    DoCmd             0                        :\n"
+        \        .. "    DoCmd             +            customlist,SomeFunc :ls\n"
         \        .. "\tLast set from .*/test_usercommands.vim line \\d\\+$",
         \           execute('verbose command DoCmd'))
 
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -548,6 +548,13 @@ uc_list(char_u *name, size_t name_len)
 		{
 		    STRCPY(IObuff + len, command_complete[j].name);
 		    len += (int)STRLEN(IObuff + len);
+		    if (p_verbose > 0 && cmd->uc_compl_arg != NULL
+					    && STRLEN(cmd->uc_compl_arg) < 200)
+		    {
+			IObuff[len] = ',';
+			STRCPY(IObuff + len + 1, cmd->uc_compl_arg);
+			len += (int)STRLEN(IObuff + len);
+		    }
 		    break;
 		}
 
--- 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 */
 /**/
+    4122,
+/**/
     4121,
 /**/
     4120,