aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/ui.c')
-rw-r--r--src/nvim/ui.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c
index d50747e63f..7c81110ae9 100644
--- a/src/nvim/ui.c
+++ b/src/nvim/ui.c
@@ -717,6 +717,13 @@ void ui_call_event(char *name, bool fast, Array args)
{
bool handled = false;
UIEventCallback *event_cb;
+
+ // Prompt messages should be shown immediately so must be safe
+ if (strcmp(name, "msg_show") == 0) {
+ char *kind = args.items[0].data.string.data;
+ fast = !kind || (strncmp(kind, "confirm", 7) != 0 && strcmp(kind, "return_prompt") != 0);
+ }
+
map_foreach(&ui_event_cbs, ui_event_ns_id, event_cb, {
Error err = ERROR_INIT;
uint32_t ns_id = ui_event_ns_id;