mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
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.
This commit is contained in:
@ -951,10 +951,9 @@ theend:
|
|||||||
kv_destroy(ccline.last_colors.colors);
|
kv_destroy(ccline.last_colors.colors);
|
||||||
|
|
||||||
char *p = ccline.cmdbuff;
|
char *p = ccline.cmdbuff;
|
||||||
// Prevent show events triggered by a (vim.ui_attach) hide callback.
|
|
||||||
ccline.cmdbuff = NULL;
|
|
||||||
|
|
||||||
if (ui_has(kUICmdline)) {
|
if (ui_has(kUICmdline)) {
|
||||||
|
ccline.redraw_state = kCmdRedrawNone;
|
||||||
ui_call_cmdline_hide(ccline.level, s->gotesc);
|
ui_call_cmdline_hide(ccline.level, s->gotesc);
|
||||||
msg_ext_clear_later();
|
msg_ext_clear_later();
|
||||||
}
|
}
|
||||||
@ -967,6 +966,8 @@ theend:
|
|||||||
|
|
||||||
if (did_save_ccline) {
|
if (did_save_ccline) {
|
||||||
restore_cmdline(&save_ccline);
|
restore_cmdline(&save_ccline);
|
||||||
|
} else {
|
||||||
|
ccline.cmdbuff = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (uint8_t *)p;
|
return (uint8_t *)p;
|
||||||
@ -3415,10 +3416,6 @@ static void draw_cmdline(int start, int len)
|
|||||||
|
|
||||||
static void ui_ext_cmdline_show(CmdlineInfo *line)
|
static void ui_ext_cmdline_show(CmdlineInfo *line)
|
||||||
{
|
{
|
||||||
if (line->cmdbuff == NULL) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Arena arena = ARENA_EMPTY;
|
Arena arena = ARENA_EMPTY;
|
||||||
Array content;
|
Array content;
|
||||||
if (cmdline_star) {
|
if (cmdline_star) {
|
||||||
|
Reference in New Issue
Block a user