diff options
author | Shougo Matsushita <Shougo.Matsu@gmail.com> | 2016-03-13 13:13:31 +0900 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-03-17 00:07:38 -0400 |
commit | 77a7ca458bc3e6e140149d1f2bf97593e2d502cd (patch) | |
tree | c16313c43e047a06d91636044d8957187bb03a27 | |
parent | c94575fded78be1c9fca8b7d193c9bbb30a1dc95 (diff) | |
download | rneovim-77a7ca458bc3e6e140149d1f2bf97593e2d502cd.tar.gz rneovim-77a7ca458bc3e6e140149d1f2bf97593e2d502cd.tar.bz2 rneovim-77a7ca458bc3e6e140149d1f2bf97593e2d502cd.zip |
'shortmess': Add "F" flag. #4446
Add "Don't give the file editing message" flag in shortmess option.
Add the UI tests by @fmoralesc
Fix the changes for Vim 7.4.1570
-rw-r--r-- | runtime/doc/options.txt | 2 | ||||
-rw-r--r-- | src/nvim/buffer.c | 13 | ||||
-rw-r--r-- | src/nvim/ex_cmds.c | 11 | ||||
-rw-r--r-- | src/nvim/option_defs.h | 3 | ||||
-rw-r--r-- | src/nvim/version.c | 1 | ||||
-rw-r--r-- | test/functional/ui/shortmess_spec.lua | 40 |
6 files changed, 63 insertions, 7 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 44696d10bb..29f4e671ed 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -5539,6 +5539,8 @@ A jump table for the options with a short description can be found at |Q_op|. "-- XXX completion (YYY)", "match 1 of 2", "The only match", "Pattern not found", "Back at original", etc. q use "recording" instead of "recording @a" + F don't give the file info when editing a file, like `:silent` + was used for the command This gives you the opportunity to avoid that a change between buffers requires you to hit <Enter>, but still gives as useful a message as diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 8f5ae3445e..4661a191a9 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -143,10 +143,17 @@ open_buffer ( if (curbuf->b_ffname != NULL ) { + int old_msg_silent = msg_silent; + if (shortmess(SHM_FILEINFO)) { + msg_silent = 1; + } + retval = readfile(curbuf->b_ffname, curbuf->b_fname, - (linenr_T)0, (linenr_T)0, (linenr_T)MAXLNUM, eap, - flags | READ_NEW); - /* Help buffer is filtered. */ + (linenr_T)0, (linenr_T)0, (linenr_T)MAXLNUM, eap, + flags | READ_NEW); + msg_silent = old_msg_silent; + + // Help buffer is filtered. if (curbuf->b_help) fix_help_buffer(); } else if (read_stdin) { diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index decb5e95bc..5ea5beb478 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -1506,8 +1506,11 @@ void ex_file(exarg_T *eap) if (rename_buffer(eap->arg) == FAIL) return; } - /* print full file name if :cd used */ - fileinfo(FALSE, FALSE, eap->forceit); + + if (!shortmess(SHM_FILEINFO)) { + // print full file name if :cd used + fileinfo(false, false, eap->forceit); + } } /* @@ -2483,7 +2486,9 @@ do_ecmd ( msg_scroll = msg_scroll_save; msg_scrolled_ign = TRUE; - fileinfo(FALSE, TRUE, FALSE); + if (!shortmess(SHM_FILEINFO)) { + fileinfo(false, true, false); + } msg_scrolled_ign = FALSE; } diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index 547bd9442c..8e74e5036e 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -172,6 +172,7 @@ enum { SHM_INTRO = 'I', ///< Intro messages. SHM_COMPLETIONMENU = 'c', ///< Completion menu messages. SHM_RECORDING = 'q', ///< Short recording message. + SHM_FILEINFO = 'F', ///< No file info messages. }; /// Represented by 'a' flag. #define SHM_ALL_ABBREVIATIONS ((char_u[]) { \ @@ -183,7 +184,7 @@ enum { SHM_RO, SHM_MOD, SHM_FILE, SHM_LAST, SHM_TEXT, SHM_LINES, SHM_NEW, SHM_WRI, \ SHM_ABBREVIATIONS, SHM_WRITE, SHM_TRUNC, SHM_TRUNCALL, SHM_OVER, \ SHM_OVERALL, SHM_SEARCH, SHM_ATTENTION, SHM_INTRO, SHM_COMPLETIONMENU, \ - SHM_RECORDING, \ + SHM_RECORDING, SHM_FILEINFO, \ 0, \ }) diff --git a/src/nvim/version.c b/src/nvim/version.c index b934ac6d47..24b79e371f 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -69,6 +69,7 @@ static char *features[] = { // clang-format off static int included_patches[] = { + 1570, 1511, 1366, diff --git a/test/functional/ui/shortmess_spec.lua b/test/functional/ui/shortmess_spec.lua new file mode 100644 index 0000000000..e58e33f6c3 --- /dev/null +++ b/test/functional/ui/shortmess_spec.lua @@ -0,0 +1,40 @@ +local helpers = require('test.functional.helpers') +local Screen = require('test.functional.ui.screen') +local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute + +describe("'shortmess'", function() + local screen + + before_each(function() + clear() + screen = Screen.new(25, 5) + screen:attach() + execute('set shortmess&') + end) + + after_each(function() + screen:detach() + end) + + describe("=F", function() + it(':hides messages about the files read', function() + execute('e test') + screen:expect([[ + ^ | + ~ | + ~ | + ~ | + "test" is a directory | + ]]) + execute('set shortmess=F') + execute('e test') + screen:expect([[ + ^ | + ~ | + ~ | + ~ | + :e test | + ]]) + end) + end) +end) |