aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_getln.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-09-26 22:15:54 +0800
committerzeertzjq <zeertzjq@outlook.com>2024-09-26 22:18:19 +0800
commit65b6cd1b3a43024f6c2d9d6f31b8ae3a69dabb56 (patch)
treeefbbe2d84732f85fd8509c5985ed0f7d8b02252c /src/nvim/ex_getln.c
parentc2fb1fc700db28cb554be9da8e79443b5d3a5fe9 (diff)
downloadrneovim-65b6cd1b3a43024f6c2d9d6f31b8ae3a69dabb56.tar.gz
rneovim-65b6cd1b3a43024f6c2d9d6f31b8ae3a69dabb56.tar.bz2
rneovim-65b6cd1b3a43024f6c2d9d6f31b8ae3a69dabb56.zip
vim-patch:9.1.0742: getcmdprompt() implementation can be improved
Problem: getcmdprompt() implementation can be improved Solution: Improve and simplify it (h-east) closes: vim/vim#15743 https://github.com/vim/vim/commit/25876a6cdd439054d0b3f920ccca0a435481de15 Co-authored-by: h-east <h.east.727@gmail.com>
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r--src/nvim/ex_getln.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
index 7eb4fe67a1..69fcdac095 100644
--- a/src/nvim/ex_getln.c
+++ b/src/nvim/ex_getln.c
@@ -4132,26 +4132,13 @@ void f_getcmdpos(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
rettv->vval.v_number = p != NULL ? p->cmdpos + 1 : 0;
}
-static char current_prompt[CMDBUFFSIZE + 1] = "";
-
-/// Get current command line prompt.
-static char *get_prompt(void)
-{
- return current_prompt;
-}
-
-/// Set current command line prompt.
-void set_prompt(const char *str)
-{
- xstrlcpy(current_prompt, str, sizeof(current_prompt));
-}
-
/// "getcmdprompt()" function
void f_getcmdprompt(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
{
CmdlineInfo *p = get_ccline_ptr();
rettv->v_type = VAR_STRING;
- rettv->vval.v_string = p != NULL ? xstrdup(get_prompt()) : NULL;
+ rettv->vval.v_string = p != NULL && p->cmdprompt != NULL
+ ? xstrdup(p->cmdprompt) : NULL;
}
/// "getcmdscreenpos()" function
@@ -4752,8 +4739,6 @@ void get_user_input(const typval_T *const argvars, typval_T *const rettv, const
const bool cmd_silent_save = cmd_silent;
cmd_silent = false; // Want to see the prompt.
- set_prompt(prompt);
-
// Only the part of the message after the last NL is considered as
// prompt for the command line, unlsess cmdline is externalized
const char *p = prompt;