mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 07:16:09 +00:00
ext_cmdline: interact with cmdline window
This commit is contained in:
@@ -2810,7 +2810,10 @@ void cmdline_screen_cleared(void)
|
||||
CmdlineInfo *prev_ccline = ccline.prev_ccline;
|
||||
while (prev_level > 0 && prev_ccline) {
|
||||
if (prev_ccline->level == prev_level) {
|
||||
ui_ext_cmdline_show(prev_ccline);
|
||||
// don't redraw a cmdline already shown in the cmdline window
|
||||
if (prev_level != cmdwin_level) {
|
||||
ui_ext_cmdline_show(prev_ccline);
|
||||
}
|
||||
prev_level--;
|
||||
}
|
||||
prev_ccline = prev_ccline->prev_ccline;
|
||||
@@ -5781,6 +5784,7 @@ static int ex_window(void)
|
||||
return K_IGNORE;
|
||||
}
|
||||
cmdwin_type = get_cmdline_type();
|
||||
cmdwin_level = ccline.level;
|
||||
|
||||
// Create empty command-line buffer.
|
||||
buf_open_scratch(0, "[Command Line]");
|
||||
@@ -5833,6 +5837,9 @@ static int ex_window(void)
|
||||
curwin->w_cursor.col = ccline.cmdpos;
|
||||
changed_line_abv_curs();
|
||||
invalidate_botline();
|
||||
if (ui_is_external(kUICmdline)) {
|
||||
ui_call_cmdline_hide(ccline.level);
|
||||
}
|
||||
redraw_later(SOME_VALID);
|
||||
|
||||
// Save the command line info, can be used recursively.
|
||||
@@ -5875,6 +5882,7 @@ static int ex_window(void)
|
||||
// Restore the command line info.
|
||||
restore_cmdline(&save_ccline);
|
||||
cmdwin_type = 0;
|
||||
cmdwin_level = 0;
|
||||
|
||||
exmode_active = save_exmode;
|
||||
|
||||
|
@@ -981,9 +981,10 @@ EXTERN int fill_diff INIT(= '-');
|
||||
EXTERN int km_stopsel INIT(= FALSE);
|
||||
EXTERN int km_startsel INIT(= FALSE);
|
||||
|
||||
EXTERN int cedit_key INIT(= -1); /* key value of 'cedit' option */
|
||||
EXTERN int cmdwin_type INIT(= 0); /* type of cmdline window or 0 */
|
||||
EXTERN int cmdwin_result INIT(= 0); /* result of cmdline window or 0 */
|
||||
EXTERN int cedit_key INIT(= -1); ///< key value of 'cedit' option
|
||||
EXTERN int cmdwin_type INIT(= 0); ///< type of cmdline window or 0
|
||||
EXTERN int cmdwin_result INIT(= 0); ///< result of cmdline window or 0
|
||||
EXTERN int cmdwin_level INIT(= 0); ///< cmdline level of cmdline window or 0
|
||||
|
||||
EXTERN char_u no_lines_msg[] INIT(= N_("--No lines in buffer--"));
|
||||
|
||||
|
Reference in New Issue
Block a user