mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
@@ -11147,17 +11147,18 @@ void get_user_input(const typval_T *const argvars,
|
||||
|
||||
cmd_silent = false; // Want to see the prompt.
|
||||
// Only the part of the message after the last NL is considered as
|
||||
// prompt for the command line.
|
||||
const char *p = strrchr(prompt, '\n');
|
||||
if (p == NULL) {
|
||||
p = prompt;
|
||||
} else {
|
||||
p++;
|
||||
msg_start();
|
||||
msg_clr_eos();
|
||||
msg_puts_attr_len(prompt, p - prompt, echo_attr);
|
||||
msg_didout = false;
|
||||
msg_starthere();
|
||||
// prompt for the command line, unlsess cmdline is externalized
|
||||
const char *p = prompt;
|
||||
if (!ui_is_external(kUICmdline)) {
|
||||
const char *lastnl = strrchr(prompt, '\n');
|
||||
if (lastnl != NULL) {
|
||||
p = lastnl+1;
|
||||
msg_start();
|
||||
msg_clr_eos();
|
||||
msg_puts_attr_len(prompt, p - prompt, echo_attr);
|
||||
msg_didout = false;
|
||||
msg_starthere();
|
||||
}
|
||||
}
|
||||
cmdline_row = msg_row;
|
||||
|
||||
@@ -19643,6 +19644,7 @@ void ex_function(exarg_T *eap)
|
||||
int todo;
|
||||
hashitem_T *hi;
|
||||
int sourcing_lnum_off;
|
||||
bool show_block = false;
|
||||
|
||||
/*
|
||||
* ":function" without argument: list functions.
|
||||
@@ -19816,6 +19818,11 @@ void ex_function(exarg_T *eap)
|
||||
goto errret_2;
|
||||
}
|
||||
|
||||
if (KeyTyped && ui_is_external(kUICmdline)) {
|
||||
show_block = true;
|
||||
ui_ext_cmdline_block_append(0, (const char *)eap->cmd);
|
||||
}
|
||||
|
||||
// find extra arguments "range", "dict", "abort" and "closure"
|
||||
for (;; ) {
|
||||
p = skipwhite(p);
|
||||
@@ -19868,7 +19875,9 @@ void ex_function(exarg_T *eap)
|
||||
if (!eap->skip && did_emsg)
|
||||
goto erret;
|
||||
|
||||
msg_putchar('\n'); /* don't overwrite the function name */
|
||||
if (!ui_is_external(kUICmdline)) {
|
||||
msg_putchar('\n'); // don't overwrite the function name
|
||||
}
|
||||
cmdline_row = msg_row;
|
||||
}
|
||||
|
||||
@@ -19902,6 +19911,9 @@ void ex_function(exarg_T *eap)
|
||||
EMSG(_("E126: Missing :endfunction"));
|
||||
goto erret;
|
||||
}
|
||||
if (show_block) {
|
||||
ui_ext_cmdline_block_append(indent, (const char *)theline);
|
||||
}
|
||||
|
||||
/* Detect line continuation: sourcing_lnum increased more than one. */
|
||||
if (sourcing_lnum > sourcing_lnum_off + 1)
|
||||
@@ -20194,6 +20206,9 @@ ret_free:
|
||||
xfree(name);
|
||||
did_emsg |= saved_did_emsg;
|
||||
need_wait_return |= saved_wait_return;
|
||||
if (show_block) {
|
||||
ui_ext_cmdline_block_leave();
|
||||
}
|
||||
}
|
||||
|
||||
/// Get a function name, translating "<SID>" and "<SNR>".
|
||||
|
Reference in New Issue
Block a user