diff options
author | luukvbaal <luukvbaal@gmail.com> | 2025-01-02 14:51:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-02 05:51:03 -0800 |
commit | 48e2a73610ca5639408f79b3d8eebd3e5f57a327 (patch) | |
tree | e84d5ab3decc765d7532c172d961fcd554d5b23a /src/nvim/ui.c | |
parent | 9d9ee3476e6478850ce8822c85154f0c98570371 (diff) | |
download | rneovim-48e2a73610ca5639408f79b3d8eebd3e5f57a327.tar.gz rneovim-48e2a73610ca5639408f79b3d8eebd3e5f57a327.tar.bz2 rneovim-48e2a73610ca5639408f79b3d8eebd3e5f57a327.zip |
feat(ui)!: emit prompt "messages" as cmdline events #31525
Problem: Prompts are emitted as messages events, where cmdline events
are more appropriate. The user input is also emitted as
message events in fast context, so cannot be displayed with
vim.ui_attach().
Solution: Prompt for user input through cmdline prompts.
Diffstat (limited to 'src/nvim/ui.c')
-rw-r--r-- | src/nvim/ui.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c index 4f443028b3..d242baf83b 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -717,10 +717,10 @@ 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 + // Return prompt is still a non-fast event, other prompt messages are + // followed by a "cmdline_show" event. if (strcmp(name, "msg_show") == 0) { - char *kind = args.items[0].data.string.data; - fast = !kind || ((strncmp(kind, "confirm", 7) != 0 && strstr(kind, "_prompt") == NULL)); + fast = !strequal(args.items[0].data.string.data, "return_prompt"); } map_foreach(&ui_event_cbs, ui_event_ns_id, event_cb, { |