Problem: Completion messages can get in the way of a plugin.
Solution: Add 'c' flag to 'shortmess' option. (Shougo Matsu)
A don't give the "ATTENTION" message when an existing swap file
is found.
I don't give the intro message when starting Vim |:intro|.
+ c don't give |ins-completion-menu| messages. For example,
+ "-- XXX completion (YYY)", "match 1 of 2", "The only match",
+ "Pattern not found", "Back at original", etc.
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
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)
{
ctrl_x_mode = 0;
edit_submode = NULL;
- msg_clr_cmdline();
+ if (!shortmess(SHM_COMPLETIONMENU))
+ msg_clr_cmdline();
return FAIL;
}
/* Show a message about what (completion) mode we're in. */
showmode();
- if (edit_submode_extra != NULL)
+ if (!shortmess(SHM_COMPLETIONMENU))
{
- if (!p_smd)
- msg_attr(edit_submode_extra,
- edit_submode_highl < HLF_COUNT
- ? hl_attr(edit_submode_highl) : 0);
+ 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" */
}
- else
- msg_clr_cmdline(); /* necessary for "noshowmode" */
/* Show the popup menu, unless we got interrupted. */
if (!compl_interrupted)
#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 */
*
* 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)
*
}
#endif
#ifdef FEAT_INS_EXPAND
- 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. */
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 314,
/**/
313,
/**/