diff options
author | Damián Silvani <munshkr@gmail.com> | 2014-07-20 12:35:29 -0300 |
---|---|---|
committer | Damián Silvani <munshkr@gmail.com> | 2014-08-14 23:20:08 -0300 |
commit | fc93536a901b4037f76a223c03d3650afb371f0b (patch) | |
tree | 74e5903938baabc19fd791631c46d4c1ad1723ff /src | |
parent | 6d4530979745aae216909f066c930893bbfbae81 (diff) | |
download | rneovim-fc93536a901b4037f76a223c03d3650afb371f0b.tar.gz rneovim-fc93536a901b4037f76a223c03d3650afb371f0b.tar.bz2 rneovim-fc93536a901b4037f76a223c03d3650afb371f0b.zip |
vim-patch:7.4.314
Problem: Completion messages can get in the way of a plugin.
Solution: Add 'c' flag to 'shortmess' option. (Shougo Matsu)
https://code.google.com/p/vim/source/detail?r=4d7af1962d6ce61df65fdc5c86544a61951f9517
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/edit.c | 26 | ||||
-rw-r--r-- | src/nvim/option_defs.h | 3 | ||||
-rw-r--r-- | src/nvim/screen.c | 5 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
4 files changed, 23 insertions, 13 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 314af1222f..05d6c9758a 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -3151,7 +3151,9 @@ static int ins_compl_prep(int c) ins_compl_free(); compl_started = FALSE; compl_matches = 0; - msg_clr_cmdline(); /* necessary for "noshowmode" */ + if (!shortmess(SHM_COMPLETIONMENU)) { + msg_clr_cmdline(); // necessary for "noshowmode" + } ctrl_x_mode = 0; compl_enter_selects = FALSE; if (edit_submode != NULL) { @@ -4378,7 +4380,9 @@ static int ins_complete(int c) if (col == -3) { ctrl_x_mode = 0; edit_submode = NULL; - msg_clr_cmdline(); + if (!shortmess(SHM_COMPLETIONMENU)) { + msg_clr_cmdline(); + } return FAIL; } @@ -4597,13 +4601,17 @@ static int ins_complete(int c) /* Show a message about what (completion) mode we're in. */ showmode(); - if (edit_submode_extra != NULL) { - if (!p_smd) - msg_attr(edit_submode_extra, - edit_submode_highl < HLF_COUNT - ? hl_attr(edit_submode_highl) : 0); - } else - msg_clr_cmdline(); /* necessary for "noshowmode" */ + if (!shortmess(SHM_COMPLETIONMENU)) { + if (edit_submode_extra != NULL) { + if (!p_smd) { + msg_attr(edit_submode_extra, + edit_submode_highl < HLF_COUNT + ? hl_attr(edit_submode_highl) : 0); + } + } else { + msg_clr_cmdline(); // necessary for "noshowmode" + } + } /* Show the popup menu, unless we got interrupted. */ if (!compl_interrupted) { diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index a22eec4136..88f095fdce 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -185,7 +185,8 @@ #define SHM_SEARCH 's' /* no search hit bottom messages */ #define SHM_ATTENTION 'A' /* no ATTENTION messages */ #define SHM_INTRO 'I' /* intro messages */ -#define SHM_ALL "rmfixlnwaWtToOsAI" /* all possible flags for 'shm' */ +#define SHM_COMPLETIONMENU 'c' // completion menu messages +#define SHM_ALL "rmfixlnwaWtToOsAIc" /* all possible flags for 'shm' */ /* characters for p_go: */ #define GO_ASEL 'a' /* autoselect */ diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 1fd872d61c..03c59bf584 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -41,7 +41,7 @@ * * The part of the buffer that is displayed in a window is set with: * - w_topline (first buffer line in window) - * - w_topfill (filler line above the first line) + * - w_topfill (filler lines above the first line) * - w_leftcol (leftmost window cell in window), * - w_skipcol (skipped window cells of first line) * @@ -7341,7 +7341,8 @@ int showmode(void) attr = hl_attr(HLF_CM); /* Highlight mode */ if (do_mode) { MSG_PUTS_ATTR("--", attr); - if (edit_submode != NULL) { /* CTRL-X in Insert mode */ + // CTRL-X in Insert mode + if (edit_submode != NULL && !shortmess(SHM_COMPLETIONMENU)) { /* These messages can get long, avoid a wrap in a narrow * window. Prefer showing edit_submode_extra. */ length = (Rows - msg_row) * Columns - 3; diff --git a/src/nvim/version.c b/src/nvim/version.c index 5416bc7473..6b4c1ddc14 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -235,7 +235,7 @@ static int included_patches[] = { //317, //316, 315, - //314, + 314, //313, //312, //311, |