diff options
author | Luuk van Baal <luukvbaal@gmail.com> | 2025-01-16 01:11:07 +0100 |
---|---|---|
committer | luukvbaal <luukvbaal@gmail.com> | 2025-01-17 08:40:50 +0100 |
commit | 5dd60e01ace2621f2307eebeb92e9e7351210d3a (patch) | |
tree | f3a81e28c4ff39a0f53a77ea58752425f130c4db /src/nvim/ex_getln.c | |
parent | 7ce27381fb49ac7d6ef1e115c3952f998e979b15 (diff) | |
download | rneovim-5dd60e01ace2621f2307eebeb92e9e7351210d3a.tar.gz rneovim-5dd60e01ace2621f2307eebeb92e9e7351210d3a.tar.bz2 rneovim-5dd60e01ace2621f2307eebeb92e9e7351210d3a.zip |
refactor(cmdline): more idiomatic way to avoid cmdline_show
Problem: Fix applied in #32033 can be more idiomatic.
Solution: Unset redraw_state instead of cmdbuff.
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index baff795e71..423b50cd32 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -951,10 +951,9 @@ theend: kv_destroy(ccline.last_colors.colors); char *p = ccline.cmdbuff; - // Prevent show events triggered by a (vim.ui_attach) hide callback. - ccline.cmdbuff = NULL; if (ui_has(kUICmdline)) { + ccline.redraw_state = kCmdRedrawNone; ui_call_cmdline_hide(ccline.level, s->gotesc); msg_ext_clear_later(); } @@ -967,6 +966,8 @@ theend: if (did_save_ccline) { restore_cmdline(&save_ccline); + } else { + ccline.cmdbuff = NULL; } return (uint8_t *)p; @@ -3415,10 +3416,6 @@ static void draw_cmdline(int start, int len) static void ui_ext_cmdline_show(CmdlineInfo *line) { - if (line->cmdbuff == NULL) { - return; - } - Arena arena = ARENA_EMPTY; Array content; if (cmdline_star) { |