diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2016-08-11 18:58:26 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-11 18:58:26 -0400 |
commit | a1682281f427ab011930f421e5691cf4bf230df1 (patch) | |
tree | bea2bfef53af6182fce4437a3f82ddf2e46879de | |
parent | 8c4c366a9ebeff6c549f85316cbc8838fcfae56a (diff) | |
parent | 6aefd14482fe58d4c056bd8e1e1651640387a36e (diff) | |
download | rneovim-a1682281f427ab011930f421e5691cf4bf230df1.tar.gz rneovim-a1682281f427ab011930f421e5691cf4bf230df1.tar.bz2 rneovim-a1682281f427ab011930f421e5691cf4bf230df1.zip |
Merge #5214 from jamessan/browse-modifier
Re-add ":browse" command modifier and use it with ":oldfiles"
-rw-r--r-- | runtime/doc/starting.txt | 3 | ||||
-rw-r--r-- | runtime/doc/vim_diff.txt | 1 | ||||
-rw-r--r-- | src/nvim/eval.c | 4 | ||||
-rw-r--r-- | src/nvim/ex_cmds_defs.h | 31 | ||||
-rw-r--r-- | src/nvim/ex_docmd.c | 3 | ||||
-rw-r--r-- | test/functional/ex_cmds/oldfiles_spec.lua | 4 |
6 files changed, 22 insertions, 24 deletions
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index 8249f8e71f..c6f51d47b9 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1200,11 +1200,10 @@ running) you have additional options: :wv[iminfo][!] [file] Deprecated alias to |:wshada| command. *: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 afterwards with ":rshada!". Also see |v:oldfiles|. The number can be used with |c_#<|. - Use ! to get a file selection prompt. :bro[wse] o[ldfiles][!] List file names as with |:oldfiles|, and then prompt diff --git a/runtime/doc/vim_diff.txt b/runtime/doc/vim_diff.txt index 3c8b728b95..9bd129a7c2 100644 --- a/runtime/doc/vim_diff.txt +++ b/runtime/doc/vim_diff.txt @@ -188,7 +188,6 @@ Additional differences: compatibility reasons. - |:wviminfo| was renamed to |:wshada|, |:rviminfo| to |:rshada|. Old commands are still kept. -- |:oldfiles| supports !. - When writing (|:wshada| without bang or at exit) it merges much more data, and does this according to the timestamp. Vim merges only marks. |shada-merging| diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 38aa587d37..f6545a5ca9 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -21722,8 +21722,8 @@ void ex_oldfiles(exarg_T *eap) /* Assume "got_int" was set to truncate the listing. */ got_int = FALSE; - // File selection prompt on ":oldfiles!" - if (eap->forceit) { + // File selection prompt on ":browse oldfiles" + if (cmdmod.browse) { quit_more = false; nr = prompt_for_number(false); msg_starthere(); diff --git a/src/nvim/ex_cmds_defs.h b/src/nvim/ex_cmds_defs.h index f46d1e6d47..421c14b495 100644 --- a/src/nvim/ex_cmds_defs.h +++ b/src/nvim/ex_cmds_defs.h @@ -160,23 +160,22 @@ typedef struct expand { #define XP_BS_ONE 1 /* uses one backslash before a space */ #define XP_BS_THREE 2 /* uses three backslashes before a space */ -/* - * Command modifiers ":vertical", ":browse", ":confirm" and ":hide" set a flag. - * This needs to be saved for recursive commands, put them in a structure for - * easy manipulation. - */ +/// Command modifiers ":vertical", ":browse", ":confirm", ":hide", etc. set a +/// flag. This needs to be saved for recursive commands, put them in a +/// structure for easy manipulation. typedef struct { - int hide; /* TRUE when ":hide" was used */ - int split; /* flags for win_split() */ - int tab; /* > 0 when ":tab" was used */ - int confirm; /* TRUE to invoke yes/no dialog */ - int keepalt; /* TRUE when ":keepalt" was used */ - int keepmarks; /* TRUE when ":keepmarks" was used */ - int keepjumps; /* TRUE when ":keepjumps" was used */ - int lockmarks; /* TRUE when ":lockmarks" was used */ - int keeppatterns; /* TRUE when ":keeppatterns" was used */ - bool noswapfile; /* true when ":noswapfile" was used */ - char_u *save_ei; /* saved value of 'eventignore' */ + int hide; ///< TRUE when ":hide" was used + int split; ///< flags for win_split() + int tab; ///< > 0 when ":tab" was used + int confirm; ///< TRUE to invoke yes/no dialog + int keepalt; ///< TRUE when ":keepalt" was used + int keepmarks; ///< TRUE when ":keepmarks" was used + int keepjumps; ///< TRUE when ":keepjumps" was used + int lockmarks; ///< TRUE when ":lockmarks" was used + int keeppatterns; ///< TRUE when ":keeppatterns" was used + bool noswapfile; ///< true when ":noswapfile" was used + bool browse; ///< TRUE to invoke file dialog + char_u *save_ei; ///< saved value of 'eventignore' } cmdmod_T; #endif // NVIM_EX_CMDS_DEFS_H diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 8bae817211..1e54f03ba0 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -1313,8 +1313,9 @@ static char_u * do_one_cmd(char_u **cmdlinep, case 'b': if (checkforcmd(&ea.cmd, "belowright", 3)) { cmdmod.split |= WSP_BELOW; continue; - } + } if (checkforcmd(&ea.cmd, "browse", 3)) { + cmdmod.browse = true; continue; } if (!checkforcmd(&ea.cmd, "botright", 2)) diff --git a/test/functional/ex_cmds/oldfiles_spec.lua b/test/functional/ex_cmds/oldfiles_spec.lua index b7109f2f98..716c1ebfb2 100644 --- a/test/functional/ex_cmds/oldfiles_spec.lua +++ b/test/functional/ex_cmds/oldfiles_spec.lua @@ -47,7 +47,7 @@ describe(':oldfiles', function() end) end) -describe(':oldfiles!', function() +describe(':browse oldfiles', function() local filename local filename2 local oldfiles @@ -74,7 +74,7 @@ describe(':oldfiles!', function() ok(filename == oldfiles[1] or filename == oldfiles[2]) ok(filename2 == oldfiles[1] or filename2 == oldfiles[2]) - execute('oldfiles!') + execute('browse oldfiles') end) after_each(function() |