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:
Famiu Haque
2022-08-17 17:50:40 +06:00
committed by GitHub
parent 7a076306e4
commit f5588ee896
5 changed files with 17 additions and 2 deletions

View File

@@ -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 others features (return on

View File

@@ -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.

View File

@@ -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',
},

View File

@@ -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

View 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)