aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-06-25 19:00:35 +0200
committerbfredl <bjorn.linse@gmail.com>2022-07-18 14:08:44 +0200
commitbe3d2f512528f8a99acc262ead8b88d38153759d (patch)
tree4668f9883bff87e860e35ca296e39a9ac6055445
parent45bee1dafd0d4042f3b22928b5cc6021a1772bb7 (diff)
downloadrneovim-be3d2f512528f8a99acc262ead8b88d38153759d.tar.gz
rneovim-be3d2f512528f8a99acc262ead8b88d38153759d.tar.bz2
rneovim-be3d2f512528f8a99acc262ead8b88d38153759d.zip
perf(ui): avoid ui_flush() work in headless mode
-rw-r--r--src/nvim/ui.c3
-rw-r--r--test/functional/ui/options_spec.lua9
2 files changed, 11 insertions, 1 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c
index 27fa1c402c..e958f02e32 100644
--- a/src/nvim/ui.c
+++ b/src/nvim/ui.c
@@ -503,6 +503,9 @@ handle_T ui_cursor_grid(void)
void ui_flush(void)
{
+ if (!ui_active()) {
+ return;
+ }
cmdline_ui_flush();
win_ui_flush();
msg_ext_ui_flush();
diff --git a/test/functional/ui/options_spec.lua b/test/functional/ui/options_spec.lua
index c2b0bcdb64..8d7c404637 100644
--- a/test/functional/ui/options_spec.lua
+++ b/test/functional/ui/options_spec.lua
@@ -51,7 +51,7 @@ describe('UI receives option updates', function()
end)
it('on attach #11372', function()
- clear()
+ clear{args_rm={'--headless'}}
local evs = {}
screen = Screen.new(20,5)
-- Override mouse_on/mouse_off handlers.
@@ -88,6 +88,13 @@ describe('UI receives option updates', function()
eq(expected, screen.options)
end)
+ command("set pumblend=50")
+ expected.pumblend = 50
+ screen:expect(function()
+ eq(expected, screen.options)
+ end)
+
+ -- check handling of out-of-bounds value
command("set pumblend=-1")
expected.pumblend = 0
screen:expect(function()