1
0
forked from aniani/vim

patch 9.1.0420: :browse oldfiles prompts even with single entry

Problem:  :browse oldfiles prompts even with single entry
Solution: Do not prompt, but edit the file directly,
          also when using :filter /pat/ browse oldfiles

closes: #14794

Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Christian Brabandt
2024-05-19 09:11:09 +02:00
parent 4776e64e72
commit 0b0f7d6be0
4 changed files with 66 additions and 2 deletions

View File

@@ -5622,6 +5622,9 @@ ex_oldfiles(exarg_T *eap UNUSED)
listitem_T *li;
int nr = 0;
char_u *fname;
// for a single filtered match, remember the number
// so we can jump directly to it without prompting
int matches = -1;
if (l == NULL)
{
@@ -5637,6 +5640,10 @@ ex_oldfiles(exarg_T *eap UNUSED)
fname = tv_get_string(&li->li_tv);
if (!message_filtered(fname))
{
if (matches < 0)
matches = nr;
else
matches = 0;
msg_outnum((long)nr);
msg_puts(": ");
msg_outtrans(fname);
@@ -5654,7 +5661,15 @@ ex_oldfiles(exarg_T *eap UNUSED)
if (cmdmod.cmod_flags & CMOD_BROWSE)
{
quit_more = FALSE;
nr = prompt_for_number(FALSE);
// we only need to prompt if there is more than 1 match
if (matches > 0)
{
nr = matches;
// msg_putchar above sets needs_wait_return
need_wait_return = FALSE;
}
else
nr = prompt_for_number(FALSE);
msg_starthere();
if (nr > 0)
{