aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-09-01 16:37:29 +0800
committerGitHub <noreply@github.com>2022-09-01 16:37:29 +0800
commitdb2e5f46f5aa5a6300395eaa9c4923835683c770 (patch)
tree44d9b88812611c0c6103b5fe81c8679a4b365d73
parent48ca1d4ce8c0a142e90e06b3cd37f1315c5eb715 (diff)
downloadrneovim-db2e5f46f5aa5a6300395eaa9c4923835683c770.tar.gz
rneovim-db2e5f46f5aa5a6300395eaa9c4923835683c770.tar.bz2
rneovim-db2e5f46f5aa5a6300395eaa9c4923835683c770.zip
fix(lua): make ui_attach()/ui_detach() take effect immediately (#20037)
-rw-r--r--src/nvim/ui_compositor.c4
-rw-r--r--test/functional/lua/ui_event_spec.lua9
2 files changed, 7 insertions, 6 deletions
diff --git a/src/nvim/ui_compositor.c b/src/nvim/ui_compositor.c
index 5167f291c3..b8c7834e2b 100644
--- a/src/nvim/ui_compositor.c
+++ b/src/nvim/ui_compositor.c
@@ -749,7 +749,7 @@ void ui_comp_add_cb(uint32_t ns_id, LuaRef cb, bool *ext_widgets)
*item = event_cb;
ui_comp_update_ext();
- ui_schedule_refresh();
+ ui_refresh();
}
void ui_comp_remove_cb(uint32_t ns_id)
@@ -759,5 +759,5 @@ void ui_comp_remove_cb(uint32_t ns_id)
pmap_del(uint32_t)(&ui_event_cbs, ns_id);
}
ui_comp_update_ext();
- ui_schedule_refresh();
+ ui_refresh();
}
diff --git a/test/functional/lua/ui_event_spec.lua b/test/functional/lua/ui_event_spec.lua
index 05322a0fdb..294222ad13 100644
--- a/test/functional/lua/ui_event_spec.lua
+++ b/test/functional/lua/ui_event_spec.lua
@@ -88,10 +88,12 @@ describe('vim.ui_attach', function()
{ "popupmenu_hide" };
}
- -- ui_detach stops events, and reenables builtin pum
- exec_lua [[ vim.ui_detach(ns) ]]
+ -- vim.ui_detach() stops events, and reenables builtin pum immediately
+ exec_lua [[
+ vim.ui_detach(ns)
+ vim.fn.complete(1, {'food', 'foobar', 'foo'})
+ ]]
- funcs.complete(1, {'food', 'foobar', 'foo'})
screen:expect{grid=[[
food^ |
{3:food }{1: }|
@@ -102,6 +104,5 @@ describe('vim.ui_attach', function()
expect_events {
}
-
end)
end)