diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-05-09 19:35:38 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-05-09 22:27:41 +0200 |
commit | b9ad12e6c2fa557e2c2c2f2f6c40fabc0cc89efd (patch) | |
tree | e39da37c2dae8899bb9d18c07cc5861a942f72dc /test/functional/api/vim_spec.lua | |
parent | 8330cc22afec67d9dbc2ad8b4a39eaf62fdf16d1 (diff) | |
download | rneovim-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.lua | 4 |
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")) |