forked from aniani/vim
patch 9.1.0742: getcmdprompt() implementation can be improved
Problem: getcmdprompt() implementation can be improved Solution: Improve and simplify it (h-east) closes: #15743 Signed-off-by: h-east <h.east.727@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
d9af78b945
commit
25876a6cdd
@@ -30,7 +30,6 @@ static cmdline_info_T ccline;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
static int new_cmdpos; // position set by set_cmdline_pos()
|
||||
static char_u current_prompt[CMDBUFFSIZE + 1] = "";
|
||||
#endif
|
||||
|
||||
static int extra_char = NUL; // extra character to display when redrawing
|
||||
@@ -50,9 +49,6 @@ static void alloc_cmdbuff(int len);
|
||||
static void draw_cmdline(int start, int len);
|
||||
static void save_cmdline(cmdline_info_T *ccp);
|
||||
static void restore_cmdline(cmdline_info_T *ccp);
|
||||
#ifdef FEAT_EVAL
|
||||
static char_u *get_prompt(void);
|
||||
#endif
|
||||
static int cmdline_paste(int regname, int literally, int remcr);
|
||||
static void redrawcmdprompt(void);
|
||||
static int ccheck_abbr(int);
|
||||
@@ -4235,24 +4231,6 @@ f_getcmdline(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
rettv->vval.v_string = get_cmdline_str();
|
||||
}
|
||||
|
||||
/*
|
||||
* Get current command line prompt.
|
||||
*/
|
||||
static char_u *
|
||||
get_prompt(void)
|
||||
{
|
||||
return current_prompt;
|
||||
}
|
||||
|
||||
/*
|
||||
* Set current command line prompt.
|
||||
*/
|
||||
void
|
||||
set_prompt(char_u* str)
|
||||
{
|
||||
vim_strncpy(current_prompt, str, sizeof(current_prompt) - 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* "getcmdpos()" function
|
||||
*/
|
||||
@@ -4272,7 +4250,8 @@ f_getcmdprompt(typval_T *argvars UNUSED, typval_T *rettv)
|
||||
{
|
||||
cmdline_info_T *p = get_ccline_ptr();
|
||||
rettv->v_type = VAR_STRING;
|
||||
rettv->vval.v_string = p != NULL ? vim_strsave(get_prompt()) : NULL;
|
||||
rettv->vval.v_string = p != NULL && p->cmdprompt != NULL ?
|
||||
vim_strsave(p->cmdprompt) : NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -4898,8 +4877,6 @@ get_user_input(
|
||||
cmd_silent = FALSE; // Want to see the prompt.
|
||||
if (prompt != NULL)
|
||||
{
|
||||
set_prompt(prompt);
|
||||
|
||||
// Only the part of the message after the last NL is considered as
|
||||
// prompt for the command line
|
||||
p = vim_strrchr(prompt, '\n');
|
||||
|
Reference in New Issue
Block a user