Mercurial > vim
changeset 30017:578e71f924fe v9.0.0346
patch 9.0.0346: :horizontal modifier not fully supported
Commit: https://github.com/vim/vim/commit/d3de178e5352fedf0f30b979f46a2fcbca24ea40
Author: zeertzjq <zeertzjq@outlook.com>
Date: Thu Sep 1 12:58:52 2022 +0100
patch 9.0.0346: :horizontal modifier not fully supported
Problem: :horizontal modifier not fully supported.
Solution: Also use :horizontal for completion and user commands.
(closes #11025)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 01 Sep 2022 14:00:04 +0200 |
parents | 3514fb971cff |
children | 64780017de33 |
files | runtime/doc/map.txt src/cmdexpand.c src/ex_docmd.c src/testdir/test_cmdline.vim src/testdir/test_usercommands.vim src/usercmd.c src/version.c |
diffstat | 7 files changed, 20 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1724,11 +1724,11 @@ The valid escape sequences are *<mods>* *<q-mods>* *:command-modifiers* <mods> The command modifiers, if specified. Otherwise, expands to nothing. Supported modifiers are |:aboveleft|, |:belowright|, - |:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|, - |:keepjumps|, |:keepmarks|, |:keeppatterns|, |:leftabove|, - |:lockmarks|, |:noautocmd|, |:noswapfile| |:rightbelow|, - |:sandbox|, |:silent|, |:tab|, |:topleft|, |:unsilent|, - |:verbose|, and |:vertical|. + |:botright|, |:browse|, |:confirm|, |:hide|, |:horizontal|, + |:keepalt|, |:keepjumps|, |:keepmarks|, |:keeppatterns|, + |:leftabove|, |:lockmarks|, |:noautocmd|, |:noswapfile| + |:rightbelow|, |:sandbox|, |:silent|, |:tab|, |:topleft|, + |:unsilent|, |:verbose|, and |:vertical|. Note that |:filter| is not supported. Examples: > command! -nargs=+ -complete=file MyEdit
--- a/src/cmdexpand.c +++ b/src/cmdexpand.c @@ -1776,6 +1776,7 @@ set_context_by_cmdname( case CMD_folddoclosed: case CMD_folddoopen: case CMD_hide: + case CMD_horizontal: case CMD_keepalt: case CMD_keepjumps: case CMD_keepmarks:
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2455,6 +2455,7 @@ do_one_cmd( case CMD_final: case CMD_help: case CMD_hide: + case CMD_horizontal: case CMD_ijump: case CMD_ilist: case CMD_isearch:
--- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -1078,6 +1078,10 @@ func Test_cmdline_complete_various() call feedkeys(":all abc\<C-A>\<C-B>\"\<CR>", 'xt') call assert_equal("\"all abc\<C-A>", @:) + " completion for :wincmd with :horizontal modifier + call feedkeys(":horizontal wincm\<C-A>\<C-B>\"\<CR>", 'xt') + call assert_equal("\"horizontal wincmd", @:) + " completion for a command with a command modifier call feedkeys(":topleft new\<C-A>\<C-B>\"\<CR>", 'xt') call assert_equal("\"topleft new", @:)
--- a/src/testdir/test_usercommands.vim +++ b/src/testdir/test_usercommands.vim @@ -103,6 +103,10 @@ function Test_cmdmods() call assert_equal('vertical', g:mods) vert MyCmd call assert_equal('vertical', g:mods) + horizontal MyCmd + call assert_equal('horizontal', g:mods) + hor MyCmd + call assert_equal('horizontal', g:mods) aboveleft belowright botright browse confirm hide keepalt keepjumps \ keepmarks keeppatterns lockmarks noautocmd noswapfile silent
--- a/src/usercmd.c +++ b/src/usercmd.c @@ -1443,6 +1443,9 @@ add_win_cmd_modifers(char_u *buf, cmdmod // :vertical if (cmod->cmod_split & WSP_VERT) result += add_cmd_modifier(buf, "vertical", multi_mods); + // :horizontal + if (cmod->cmod_split & WSP_HOR) + result += add_cmd_modifier(buf, "horizontal", multi_mods); return result; }