aboutsummaryrefslogtreecommitdiff
path: root/test/functional/api/vim_spec.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-05-09 19:35:38 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-05-09 22:27:41 +0200
commitb9ad12e6c2fa557e2c2c2f2f6c40fabc0cc89efd (patch)
treee39da37c2dae8899bb9d18c07cc5861a942f72dc /test/functional/api/vim_spec.lua
parent8330cc22afec67d9dbc2ad8b4a39eaf62fdf16d1 (diff)
downloadrneovim-b9ad12e6c2fa557e2c2c2f2f6c40fabc0cc89efd.tar.gz
rneovim-b9ad12e6c2fa557e2c2c2f2f6c40fabc0cc89efd.tar.bz2
rneovim-b9ad12e6c2fa557e2c2c2f2f6c40fabc0cc89efd.zip
UI/nvim_ui_attach(): add `override` option
Before now, Nvim always degrades UI capabilities to the lowest-common denominator. For example, if any connected UI has `ext_messages=false` then `ext_messages=true` requested by any other connected UI is ignored. Now `nvim_ui_attach()` supports `override=true`, which flips the behavior: if any UI requests an `ext_*` UI capability then the capability is enabled (and the legacy behavior is disabled). Legacy UIs will be broken while a `override=true` UI is connected, but it's useful for debugging: you can type into the TUI and observe the UI events from another connected (UI) client. And the legacy UI will "recover" after the `override=true` UI disconnects. Example using pynvim: >>> n.ui_attach(2048, 2048, rgb=True, override=True, ext_multigrid=True, ext_messages=True, ext_popupmenu=True) >>> while True: n.next_message();
Diffstat (limited to 'test/functional/api/vim_spec.lua')
-rw-r--r--test/functional/api/vim_spec.lua4
1 files changed, 3 insertions, 1 deletions
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index c508ca37db..2178abab53 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -1284,7 +1284,7 @@ describe('API', function()
end)
it('returns attached UIs', function()
local screen = Screen.new(20, 4)
- screen:attach()
+ screen:attach({override=true})
local expected = {
{
chan = 1,
@@ -1299,6 +1299,7 @@ describe('API', function()
ext_messages = false,
height = 4,
rgb = true,
+ override = true,
width = 20,
}
}
@@ -1308,6 +1309,7 @@ describe('API', function()
screen = Screen.new(44, 99)
screen:attach({ rgb = false })
expected[1].rgb = false
+ expected[1].override = false
expected[1].width = 44
expected[1].height = 99
eq(expected, nvim("list_uis"))