mirror of
https://github.com/neovim/neovim.git
synced 2025-09-22 19:18:34 +00:00
feat: allow :wincmd to accept a count (#19815)
Let :wincmd command accept a count like what its documentation suggests.
Previously it could only accept a range, which led to some ambiguity on
which attribute should be used when executing :wincmd using nvim_cmd.
Closes #19662.
Also fix a typo in a related Vim test:
vim-patch:9.0.0223: typo in diffmode test
Problem: Typo in diffmode test.
Solution: Fix the typo. (closes vim/vim#10932)
5fd6ab820b
This commit is contained in:
@@ -372,6 +372,7 @@ Lua interface (|lua.txt|):
|
||||
|
||||
Commands:
|
||||
|:doautocmd| does not warn about "No matching autocommands".
|
||||
|:wincmd| accepts a count.
|
||||
|
||||
Functions:
|
||||
|input()| and |inputdialog()| support for each other’s features (return on
|
||||
|
@@ -442,6 +442,7 @@ position is set to keep the same Visual area selected.
|
||||
These commands can also be executed with ":wincmd":
|
||||
|
||||
:[count]winc[md] {arg}
|
||||
:winc[md] [count] {arg}
|
||||
Like executing CTRL-W [count] {arg}. Example: >
|
||||
:wincmd j
|
||||
< Moves to the window below the current one.
|
||||
|
@@ -3181,7 +3181,7 @@ module.cmds = {
|
||||
},
|
||||
{
|
||||
command='wincmd',
|
||||
flags=bit.bor(NEEDARG, WORD1, RANGE, CMDWIN, LOCK_OK),
|
||||
flags=bit.bor(NEEDARG, WORD1, RANGE, COUNT, CMDWIN, LOCK_OK),
|
||||
addr_type='ADDR_OTHER',
|
||||
func='ex_wincmd',
|
||||
},
|
||||
|
@@ -137,7 +137,7 @@ func Common_vert_split()
|
||||
|
||||
" Test diffoff
|
||||
diffoff!
|
||||
1wincmd 2
|
||||
1wincmd w
|
||||
let &diff = 1
|
||||
let &fdm = diff_fdm
|
||||
let &fdc = diff_fdc
|
||||
|
13
test/functional/ex_cmds/wincmd_spec.lua
Normal file
13
test/functional/ex_cmds/wincmd_spec.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
local helpers = require("test.functional.helpers")(after_each)
|
||||
local clear = helpers.clear
|
||||
local eq = helpers.eq
|
||||
local funcs = helpers.funcs
|
||||
local command = helpers.command
|
||||
|
||||
it(':wincmd accepts a count', function()
|
||||
clear()
|
||||
command('vsplit')
|
||||
eq(1, funcs.winnr())
|
||||
command('wincmd 2 w')
|
||||
eq(2, funcs.winnr())
|
||||
end)
|
Reference in New Issue
Block a user