mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 23:38:17 +00:00
Restore ":browse oldfiles" behavior from Vim
In 3b12bb225a
, ":oldfiles" was taught to
behave like Vim's ":browse oldfiles" if ":oldfiles!" was used. However,
this conflates the use of ! for abandoning a modified buffer with
choosing one file out of a list of oldfiles.
Now that ":browse" is supported again, ":browse oldfiles" will allow the
user to select an old file, while still complaining if that would cause
a modified buffer to be abandoned. ":browse oldfiles!" will just
abandon the buffer, as expected.
This commit is contained in:
@@ -1200,11 +1200,10 @@ running) you have additional options:
|
|||||||
:wv[iminfo][!] [file] Deprecated alias to |:wshada| command.
|
:wv[iminfo][!] [file] Deprecated alias to |:wshada| command.
|
||||||
|
|
||||||
*:o* *:ol* *:oldfiles*
|
*:o* *:ol* *:oldfiles*
|
||||||
:o[ldfiles][!] List the files that have marks stored in the ShaDa
|
:o[ldfiles] List the files that have marks stored in the ShaDa
|
||||||
file. This list is read on startup and only changes
|
file. This list is read on startup and only changes
|
||||||
afterwards with ":rshada!". Also see |v:oldfiles|.
|
afterwards with ":rshada!". Also see |v:oldfiles|.
|
||||||
The number can be used with |c_#<|.
|
The number can be used with |c_#<|.
|
||||||
Use ! to get a file selection prompt.
|
|
||||||
|
|
||||||
:bro[wse] o[ldfiles][!]
|
:bro[wse] o[ldfiles][!]
|
||||||
List file names as with |:oldfiles|, and then prompt
|
List file names as with |:oldfiles|, and then prompt
|
||||||
|
@@ -188,7 +188,6 @@ Additional differences:
|
|||||||
compatibility reasons.
|
compatibility reasons.
|
||||||
- |:wviminfo| was renamed to |:wshada|, |:rviminfo| to |:rshada|. Old
|
- |:wviminfo| was renamed to |:wshada|, |:rviminfo| to |:rshada|. Old
|
||||||
commands are still kept.
|
commands are still kept.
|
||||||
- |:oldfiles| supports !.
|
|
||||||
- When writing (|:wshada| without bang or at exit) it merges much more data,
|
- When writing (|:wshada| without bang or at exit) it merges much more data,
|
||||||
and does this according to the timestamp. Vim merges only marks.
|
and does this according to the timestamp. Vim merges only marks.
|
||||||
|shada-merging|
|
|shada-merging|
|
||||||
|
@@ -21722,8 +21722,8 @@ void ex_oldfiles(exarg_T *eap)
|
|||||||
/* Assume "got_int" was set to truncate the listing. */
|
/* Assume "got_int" was set to truncate the listing. */
|
||||||
got_int = FALSE;
|
got_int = FALSE;
|
||||||
|
|
||||||
// File selection prompt on ":oldfiles!"
|
// File selection prompt on ":browse oldfiles"
|
||||||
if (eap->forceit) {
|
if (cmdmod.browse) {
|
||||||
quit_more = false;
|
quit_more = false;
|
||||||
nr = prompt_for_number(false);
|
nr = prompt_for_number(false);
|
||||||
msg_starthere();
|
msg_starthere();
|
||||||
|
@@ -47,7 +47,7 @@ describe(':oldfiles', function()
|
|||||||
end)
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
describe(':oldfiles!', function()
|
describe(':browse oldfiles', function()
|
||||||
local filename
|
local filename
|
||||||
local filename2
|
local filename2
|
||||||
local oldfiles
|
local oldfiles
|
||||||
@@ -74,7 +74,7 @@ describe(':oldfiles!', function()
|
|||||||
ok(filename == oldfiles[1] or filename == oldfiles[2])
|
ok(filename == oldfiles[1] or filename == oldfiles[2])
|
||||||
ok(filename2 == oldfiles[1] or filename2 == oldfiles[2])
|
ok(filename2 == oldfiles[1] or filename2 == oldfiles[2])
|
||||||
|
|
||||||
execute('oldfiles!')
|
execute('browse oldfiles')
|
||||||
end)
|
end)
|
||||||
|
|
||||||
after_each(function()
|
after_each(function()
|
||||||
|
Reference in New Issue
Block a user