mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
[RDY] Add buffer information to tabline_update (#12481)
* Add buffer information to tabline_update Most terminal implementations of the tabline display buffer and tab information. Many neovim-qt users disable GuiTabline because it lacks functionality provided in the terminal implementation. The tabline_update event should include buffer information too, so client GUIs can display rich useful tabs.
This commit is contained in:
@@ -4,14 +4,17 @@ local clear, command, eq = helpers.clear, helpers.command, helpers.eq
|
||||
|
||||
describe('ui/ext_tabline', function()
|
||||
local screen
|
||||
local event_tabs, event_curtab
|
||||
local event_tabs, event_curtab, event_curbuf, event_buffers
|
||||
|
||||
before_each(function()
|
||||
clear()
|
||||
screen = Screen.new(25, 5)
|
||||
screen:attach({rgb=true, ext_tabline=true})
|
||||
function screen:_handle_tabline_update(curtab, tabs)
|
||||
event_curtab, event_tabs = curtab, tabs
|
||||
function screen:_handle_tabline_update(curtab, tabs, curbuf, buffers)
|
||||
event_curtab = curtab
|
||||
event_tabs = tabs
|
||||
event_curbuf = curbuf
|
||||
event_buffers = buffers
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -45,4 +48,38 @@ describe('ui/ext_tabline', function()
|
||||
eq(expected_tabs, event_tabs)
|
||||
end}
|
||||
end)
|
||||
|
||||
it('buffer UI events', function()
|
||||
local expected_buffers_initial= {
|
||||
{buffer = { id = 1 }, name = '[No Name]'},
|
||||
}
|
||||
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
~ |
|
||||
~ |
|
||||
~ |
|
||||
|
|
||||
]], condition=function()
|
||||
eq({ id = 1}, event_curbuf)
|
||||
eq(expected_buffers_initial, event_buffers)
|
||||
end}
|
||||
|
||||
command("badd another-buffer")
|
||||
command("bnext")
|
||||
|
||||
local expected_buffers = {
|
||||
{buffer = { id = 2 }, name = 'another-buffer'},
|
||||
}
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
~ |
|
||||
~ |
|
||||
~ |
|
||||
|
|
||||
]], condition=function()
|
||||
eq({ id = 2 }, event_curbuf)
|
||||
eq(expected_buffers, event_buffers)
|
||||
end}
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user