aboutsummaryrefslogtreecommitdiff
path: root/src/nvim
diff options
context:
space:
mode:
authorDamián Silvani <munshkr@gmail.com>2014-07-20 12:35:29 -0300
committerDamián Silvani <munshkr@gmail.com>2014-08-14 23:20:08 -0300
commitfc93536a901b4037f76a223c03d3650afb371f0b (patch)
tree74e5903938baabc19fd791631c46d4c1ad1723ff /src/nvim
parent6d4530979745aae216909f066c930893bbfbae81 (diff)
downloadrneovim-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/nvim')
-rw-r--r--src/nvim/edit.c26
-rw-r--r--src/nvim/option_defs.h3
-rw-r--r--src/nvim/screen.c5
-rw-r--r--src/nvim/version.c2
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,