Merge pull request #9667 from bfredl/winclose

api: add nvim_win_close() to close window by id
This commit is contained in:
Björn Linse
2019-03-03 17:30:58 +01:00
committed by GitHub
4 changed files with 96 additions and 1 deletions

View File

@@ -286,4 +286,41 @@ describe('API/win', function()
ok(not window('is_valid', win))
end)
end)
describe('close', function()
it('can close current window', function()
local oldwin = meths.get_current_win()
command('split')
local newwin = meths.get_current_win()
meths.win_close(newwin,false)
eq({oldwin}, meths.list_wins())
end)
it('can close noncurrent window', function()
local oldwin = meths.get_current_win()
command('split')
local newwin = meths.get_current_win()
meths.win_close(oldwin,false)
eq({newwin}, meths.list_wins())
end)
it('handles changed buffer', function()
local oldwin = meths.get_current_win()
insert('text')
command('new')
local newwin = meths.get_current_win()
eq({false,"Vim:E37: No write since last change (add ! to override)"},
meth_pcall(meths.win_close, oldwin,false))
eq({newwin,oldwin}, meths.list_wins())
end)
it('handles changed buffer with force', function()
local oldwin = meths.get_current_win()
insert('text')
command('new')
local newwin = meths.get_current_win()
meths.win_close(oldwin,true)
eq({newwin}, meths.list_wins())
end)
end)
end)

View File

@@ -118,6 +118,37 @@ describe('floating windows', function()
|
]])
end
meths.win_close(win, false)
if multigrid then
screen:expect([[
## grid 1
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
[2:----------------------------------------]|
|
## grid 2
^ |
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
]])
else
screen:expect([[
^ |
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
{0:~ }|
|
]])
end
end)
it('API has proper error messages', function()