0
0
mirror of https://github.com/vim/vim.git synced 2025-08-31 20:53:42 -04:00

patch 9.0.0279: the tiny version has the popup menu but not 'wildmenu'

Problem:    The tiny version has the popup menu but not 'wildmenu'.
Solution:   Graduate the wildmenu feature.
This commit is contained in:
Bram Moolenaar 2022-08-26 16:58:51 +01:00
parent 074fbd4131
commit 5416232707
14 changed files with 19 additions and 122 deletions

View File

@ -9047,13 +9047,13 @@ A jump table for the options with a short description can be found at |Q_op|.
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'* *'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default off, set in |defaults.vim|) 'wildmenu' 'wmnu' boolean (default off, set in |defaults.vim|)
global global
{not available if compiled without the |+wildmenu|
feature}
When 'wildmenu' is on, command-line completion operates in an enhanced When 'wildmenu' is on, command-line completion operates in an enhanced
mode. On pressing 'wildchar' (usually <Tab>) to invoke completion, mode. On pressing 'wildchar' (usually <Tab>) to invoke completion,
the possible matches are shown just above the command line, with the the possible matches are shown.
first match highlighted (overwriting the status line, if there is When 'wildoptions' contains "pum", then the completion matches are
one). This is the behavior without "pum" in 'wildoptions'. shown in a popup menu. Otherwise they are displayed just above the
command line, with the first match highlighted (overwriting the status
line, if there is one).
Keys that show the previous/next match, such as <Tab> or Keys that show the previous/next match, such as <Tab> or
CTRL-P/CTRL-N, cause the highlight to move to the appropriate match. CTRL-P/CTRL-N, cause the highlight to move to the appropriate match.
When 'wildmode' is used, "wildmenu" mode is used where "full" is When 'wildmode' is used, "wildmenu" mode is used where "full" is
@ -9062,8 +9062,6 @@ A jump table for the options with a short description can be found at |Q_op|.
If there are more matches than can fit in the line, a ">" is shown on If there are more matches than can fit in the line, a ">" is shown on
the right and/or a "<" is shown on the left. The status line scrolls the right and/or a "<" is shown on the left. The status line scrolls
as needed. as needed.
When 'wildoptions' contains "pum", then the completion matches are
shown in a popup menu.
The "wildmenu" mode is abandoned when a key is hit that is not used The "wildmenu" mode is abandoned when a key is hit that is not used
for selecting a completion. for selecting a completion.
While the "wildmenu" is active, not using the popup menu, the While the "wildmenu" is active, not using the popup menu, the

View File

@ -491,7 +491,7 @@ T *+visualextra* extra Visual mode commands |blockwise-operators|
T *+vreplace* |gR| and |gr| T *+vreplace* |gR| and |gr|
*+vtp* on MS-Windows console: support for 'termguicolors' *+vtp* on MS-Windows console: support for 'termguicolors'
T *+wildignore* |'wildignore'| Always enabled since 9.0.0278 T *+wildignore* |'wildignore'| Always enabled since 9.0.0278
N *+wildmenu* |'wildmenu'| T *+wildmenu* |'wildmenu'|| Always enabled since 9.0.0279
T *+windows* more than one window; Always enabled since 8.0.1118. T *+windows* more than one window; Always enabled since 8.0.1118.
m *+writebackup* |'writebackup'| is default on m *+writebackup* |'writebackup'| is default on
m *+xim* X input method |xim| m *+xim* X input method |xim|

View File

@ -26,7 +26,6 @@ static int ExpandUserDefined(char_u *pat, expand_T *xp, regmatch_T *regmatch, ch
static int ExpandUserList(expand_T *xp, char_u ***matches, int *numMatches); static int ExpandUserList(expand_T *xp, char_u ***matches, int *numMatches);
#endif #endif
#ifdef FEAT_WILDMENU
// "compl_match_array" points the currently displayed list of entries in the // "compl_match_array" points the currently displayed list of entries in the
// popup menu. It is NULL when there is no popup menu. // popup menu. It is NULL when there is no popup menu.
static pumitem_T *compl_match_array = NULL; static pumitem_T *compl_match_array = NULL;
@ -34,7 +33,6 @@ static int compl_match_arraysize;
// First column in cmdline of the matched item for completion. // First column in cmdline of the matched item for completion.
static int compl_startcol; static int compl_startcol;
static int compl_selected; static int compl_selected;
#endif
#define SHOW_FILE_TEXT(m) (showtail ? sm_gettail(matches[m]) : matches[m]) #define SHOW_FILE_TEXT(m) (showtail ? sm_gettail(matches[m]) : matches[m])
@ -305,8 +303,6 @@ nextwild(
return OK; return OK;
} }
#if defined(FEAT_WILDMENU) || defined(PROTO)
/* /*
* Create and display a cmdline completion popup menu with items from * Create and display a cmdline completion popup menu with items from
* 'matches'. * 'matches'.
@ -405,7 +401,6 @@ int cmdline_compl_startcol(void)
{ {
return compl_startcol; return compl_startcol;
} }
#endif
/* /*
* Get the next or prev cmdline completion match. The index of the match is set * Get the next or prev cmdline completion match. The index of the match is set
@ -488,7 +483,6 @@ get_next_or_prev_match(
else else
findex = -1; findex = -1;
} }
#ifdef FEAT_WILDMENU
if (compl_match_array) if (compl_match_array)
{ {
compl_selected = findex; compl_selected = findex;
@ -497,7 +491,6 @@ get_next_or_prev_match(
else if (p_wmnu) else if (p_wmnu)
win_redr_status_matches(xp, xp->xp_numfiles, xp->xp_files, win_redr_status_matches(xp, xp->xp_numfiles, xp->xp_files,
findex, cmd_showtail); findex, cmd_showtail);
#endif
*p_findex = findex; *p_findex = findex;
if (findex == -1) if (findex == -1)
@ -902,16 +895,12 @@ showmatches(expand_T *xp, int wildmenu UNUSED)
showtail = cmd_showtail; showtail = cmd_showtail;
} }
#ifdef FEAT_WILDMENU
if (wildmenu && vim_strchr(p_wop, WOP_PUM) != NULL) if (wildmenu && vim_strchr(p_wop, WOP_PUM) != NULL)
// cmdline completion popup menu (with wildoptions=pum) // cmdline completion popup menu (with wildoptions=pum)
return cmdline_pum_create(ccline, xp, matches, numMatches, showtail); return cmdline_pum_create(ccline, xp, matches, numMatches, showtail);
#endif
#ifdef FEAT_WILDMENU
if (!wildmenu) if (!wildmenu)
{ {
#endif
msg_didany = FALSE; // lines_left will be set msg_didany = FALSE; // lines_left will be set
msg_start(); // prepare for paging msg_start(); // prepare for paging
msg_putchar('\n'); msg_putchar('\n');
@ -919,16 +908,12 @@ showmatches(expand_T *xp, int wildmenu UNUSED)
cmdline_row = msg_row; cmdline_row = msg_row;
msg_didany = FALSE; // lines_left will be set again msg_didany = FALSE; // lines_left will be set again
msg_start(); // prepare for paging msg_start(); // prepare for paging
#ifdef FEAT_WILDMENU
} }
#endif
if (got_int) if (got_int)
got_int = FALSE; // only int. the completion, not the cmd line got_int = FALSE; // only int. the completion, not the cmd line
#ifdef FEAT_WILDMENU
else if (wildmenu) else if (wildmenu)
win_redr_status_matches(xp, numMatches, matches, -1, showtail); win_redr_status_matches(xp, numMatches, matches, -1, showtail);
#endif
else else
{ {
// find the length of the longest file name // find the length of the longest file name
@ -3378,8 +3363,6 @@ globpath(
vim_free(buf); vim_free(buf);
} }
#ifdef FEAT_WILDMENU
/* /*
* Translate some keys pressed when 'wildmenu' is used. * Translate some keys pressed when 'wildmenu' is used.
*/ */
@ -3392,7 +3375,6 @@ wildmenu_translate_key(
{ {
int c = key; int c = key;
#ifdef FEAT_WILDMENU
if (cmdline_pum_active()) if (cmdline_pum_active())
{ {
// When the popup menu is used for cmdline completion: // When the popup menu is used for cmdline completion:
@ -3409,7 +3391,6 @@ wildmenu_translate_key(
default: break; default: break;
} }
} }
#endif
if (did_wild_list) if (did_wild_list)
{ {
@ -3669,7 +3650,6 @@ wildmenu_cleanup(cmdline_info_T *cclp)
if (cclp->input_fn) if (cclp->input_fn)
RedrawingDisabled = old_RedrawingDisabled; RedrawingDisabled = old_RedrawingDisabled;
} }
#endif
#if defined(FEAT_EVAL) || defined(PROTO) #if defined(FEAT_EVAL) || defined(PROTO)
/* /*

View File

@ -3084,19 +3084,16 @@ redraw_after_callback(int call_update_screen, int do_message)
} }
else if (State & MODE_CMDLINE) else if (State & MODE_CMDLINE)
{ {
#ifdef FEAT_WILDMENU
if (pum_visible()) if (pum_visible())
cmdline_pum_display(); cmdline_pum_display();
#endif
// Don't redraw when in prompt_for_number(). // Don't redraw when in prompt_for_number().
if (cmdline_row > 0) if (cmdline_row > 0)
{ {
// Redrawing only works when the screen didn't scroll. Don't clear // Redrawing only works when the screen didn't scroll. Don't clear
// wildmenu entries. // wildmenu entries.
if (msg_scrolled == 0 if (msg_scrolled == 0
#ifdef FEAT_WILDMENU
&& wild_menu_showing == 0 && wild_menu_showing == 0
#endif
&& call_update_screen) && call_update_screen)
update_screen(0); update_screen(0);
@ -3241,12 +3238,10 @@ redraw_buf_and_status_later(buf_T *buf, int type)
{ {
win_T *wp; win_T *wp;
#ifdef FEAT_WILDMENU
if (wild_menu_showing != 0) if (wild_menu_showing != 0)
// Don't redraw while the command line completion is displayed, it // Don't redraw while the command line completion is displayed, it
// would disappear. // would disappear.
return; return;
#endif
FOR_ALL_WINDOWS(wp) FOR_ALL_WINDOWS(wp)
{ {
if (wp->w_buffer == buf) if (wp->w_buffer == buf)
@ -3305,7 +3300,6 @@ redraw_statuslines(void)
draw_tabline(); draw_tabline();
} }
#if defined(FEAT_WILDMENU) || defined(PROTO)
/* /*
* Redraw all status lines at the bottom of frame "frp". * Redraw all status lines at the bottom of frame "frp".
*/ */
@ -3327,7 +3321,6 @@ win_redraw_last_status(frame_T *frp)
win_redraw_last_status(frp); win_redraw_last_status(frp);
} }
} }
#endif
/* /*
* Changed something in the current window, at buffer line "lnum", that * Changed something in the current window, at buffer line "lnum", that

View File

@ -6261,13 +6261,7 @@ f_has(typval_T *argvars, typval_T *rettv)
#endif #endif
}, },
{"wildignore", 1}, {"wildignore", 1},
{"wildmenu", {"wildmenu", 1},
#ifdef FEAT_WILDMENU
1
#else
0
#endif
},
{"windows", 1}, {"windows", 1},
{"winaltkeys", {"winaltkeys",
#ifdef FEAT_WAK #ifdef FEAT_WAK
@ -10600,10 +10594,8 @@ f_visualmode(typval_T *argvars, typval_T *rettv)
static void static void
f_wildmenumode(typval_T *argvars UNUSED, typval_T *rettv UNUSED) f_wildmenumode(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
{ {
#ifdef FEAT_WILDMENU
if (wild_menu_showing || ((State & MODE_CMDLINE) && cmdline_pum_active())) if (wild_menu_showing || ((State & MODE_CMDLINE) && cmdline_pum_active()))
rettv->vval.v_number = 1; rettv->vval.v_number = 1;
#endif
} }
/* /*

View File

@ -920,17 +920,10 @@ cmdline_wildchar_complete(
if (xp->xp_numfiles > 1 if (xp->xp_numfiles > 1
&& !*did_wild_list && !*did_wild_list
&& ((wim_flags[wim_index] & WIM_LIST) && ((wim_flags[wim_index] & WIM_LIST)
#ifdef FEAT_WILDMENU || (p_wmnu && (wim_flags[wim_index] & WIM_FULL) != 0)))
|| (p_wmnu && (wim_flags[wim_index] & WIM_FULL) != 0)
#endif
))
{ {
#ifdef FEAT_WILDMENU
(void)showmatches(xp, (void)showmatches(xp,
p_wmnu && ((wim_flags[wim_index] & WIM_LIST) == 0)); p_wmnu && ((wim_flags[wim_index] & WIM_LIST) == 0));
#else
(void)showmatches(xp, FALSE);
#endif
redrawcmd(); redrawcmd();
*did_wild_list = TRUE; *did_wild_list = TRUE;
} }
@ -958,9 +951,7 @@ cmdline_wildchar_complete(
(void)vpeekc(); // remove <C-C> from input stream (void)vpeekc(); // remove <C-C> from input stream
got_int = FALSE; // don't abandon the command line got_int = FALSE; // don't abandon the command line
(void)ExpandOne(xp, NULL, NULL, 0, WILD_FREE); (void)ExpandOne(xp, NULL, NULL, 0, WILD_FREE);
#ifdef FEAT_WILDMENU
xp->xp_context = EXPAND_NOTHING; xp->xp_context = EXPAND_NOTHING;
#endif
*wim_index_p = wim_index; *wim_index_p = wim_index;
return CMDLINE_CHANGED; return CMDLINE_CHANGED;
} }
@ -975,29 +966,20 @@ cmdline_wildchar_complete(
if (wim_flags[0] == WIM_LONGEST && ccline.cmdpos == j) if (wim_flags[0] == WIM_LONGEST && ccline.cmdpos == j)
wim_index = 1; wim_index = 1;
if ((wim_flags[wim_index] & WIM_LIST) if ((wim_flags[wim_index] & WIM_LIST)
#ifdef FEAT_WILDMENU || (p_wmnu && (wim_flags[wim_index] & WIM_FULL) != 0))
|| (p_wmnu && (wim_flags[wim_index] & WIM_FULL) != 0)
#endif
)
{ {
if (!(wim_flags[0] & WIM_LONGEST)) if (!(wim_flags[0] & WIM_LONGEST))
{ {
#ifdef FEAT_WILDMENU
int p_wmnu_save = p_wmnu; int p_wmnu_save = p_wmnu;
p_wmnu = 0; p_wmnu = 0;
#endif
// remove match // remove match
nextwild(xp, WILD_PREV, 0, escape); nextwild(xp, WILD_PREV, 0, escape);
#ifdef FEAT_WILDMENU
p_wmnu = p_wmnu_save; p_wmnu = p_wmnu_save;
#endif
} }
#ifdef FEAT_WILDMENU
(void)showmatches(xp, p_wmnu (void)showmatches(xp, p_wmnu
&& ((wim_flags[wim_index] & WIM_LIST) == 0)); && ((wim_flags[wim_index] & WIM_LIST) == 0));
#else
(void)showmatches(xp, FALSE);
#endif
redrawcmd(); redrawcmd();
*did_wild_list = TRUE; *did_wild_list = TRUE;
if (wim_flags[wim_index] & WIM_LONGEST) if (wim_flags[wim_index] & WIM_LONGEST)
@ -1008,10 +990,8 @@ cmdline_wildchar_complete(
else else
vim_beep(BO_WILD); vim_beep(BO_WILD);
} }
#ifdef FEAT_WILDMENU
else if (xp->xp_numfiles == -1) else if (xp->xp_numfiles == -1)
xp->xp_context = EXPAND_NOTHING; xp->xp_context = EXPAND_NOTHING;
#endif
} }
if (wim_index < 3) if (wim_index < 3)
++wim_index; ++wim_index;
@ -1895,7 +1875,6 @@ getcmdline_int(
if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles > 0) if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles > 0)
c = Ctrl_P; c = Ctrl_P;
#ifdef FEAT_WILDMENU
if (p_wmnu) if (p_wmnu)
c = wildmenu_translate_key(&ccline, c, &xpc, did_wild_list); c = wildmenu_translate_key(&ccline, c, &xpc, did_wild_list);
@ -1913,7 +1892,6 @@ getcmdline_int(
c = Ctrl_E; c = Ctrl_E;
} }
} }
#endif
// The wildmenu is cleared if the pressed key is not used for // The wildmenu is cleared if the pressed key is not used for
// navigating the wild menu (i.e. the key is not 'wildchar' or // navigating the wild menu (i.e. the key is not 'wildchar' or
@ -1922,36 +1900,26 @@ getcmdline_int(
// also used to navigate the menu. // also used to navigate the menu.
end_wildmenu = (!(c == p_wc && KeyTyped) && c != p_wcm end_wildmenu = (!(c == p_wc && KeyTyped) && c != p_wcm
&& c != Ctrl_N && c != Ctrl_P && c != Ctrl_A && c != Ctrl_L); && c != Ctrl_N && c != Ctrl_P && c != Ctrl_A && c != Ctrl_L);
#ifdef FEAT_WILDMENU
end_wildmenu = end_wildmenu && (!cmdline_pum_active() || end_wildmenu = end_wildmenu && (!cmdline_pum_active() ||
(c != K_PAGEDOWN && c != K_PAGEUP (c != K_PAGEDOWN && c != K_PAGEUP
&& c != K_KPAGEDOWN && c != K_KPAGEUP)); && c != K_KPAGEDOWN && c != K_KPAGEUP));
#endif
// free expanded names when finished walking through matches // free expanded names when finished walking through matches
if (end_wildmenu) if (end_wildmenu)
{ {
#ifdef FEAT_WILDMENU
if (cmdline_pum_active()) if (cmdline_pum_active())
cmdline_pum_remove(); cmdline_pum_remove();
#endif
if (xpc.xp_numfiles != -1) if (xpc.xp_numfiles != -1)
(void)ExpandOne(&xpc, NULL, NULL, 0, WILD_FREE); (void)ExpandOne(&xpc, NULL, NULL, 0, WILD_FREE);
did_wild_list = FALSE; did_wild_list = FALSE;
#ifdef FEAT_WILDMENU
if (!p_wmnu || (c != K_UP && c != K_DOWN)) if (!p_wmnu || (c != K_UP && c != K_DOWN))
#endif
xpc.xp_context = EXPAND_NOTHING; xpc.xp_context = EXPAND_NOTHING;
wim_index = 0; wim_index = 0;
#ifdef FEAT_WILDMENU
wildmenu_cleanup(&ccline); wildmenu_cleanup(&ccline);
#endif
} }
#ifdef FEAT_WILDMENU
if (p_wmnu) if (p_wmnu)
c = wildmenu_process_key(&ccline, c, &xpc); c = wildmenu_process_key(&ccline, c, &xpc);
#endif
// CTRL-\ CTRL-N goes to Normal mode, CTRL-\ CTRL-G goes to Insert // CTRL-\ CTRL-N goes to Normal mode, CTRL-\ CTRL-G goes to Insert
// mode when 'insertmode' is set, CTRL-\ e prompts for an expression. // mode when 'insertmode' is set, CTRL-\ e prompts for an expression.
@ -2035,18 +2003,11 @@ getcmdline_int(
{ {
if (xpc.xp_numfiles > 1 if (xpc.xp_numfiles > 1
&& ((!did_wild_list && (wim_flags[wim_index] & WIM_LIST)) && ((!did_wild_list && (wim_flags[wim_index] & WIM_LIST))
#ifdef FEAT_WILDMENU || p_wmnu))
|| p_wmnu
#endif
))
{ {
#ifdef FEAT_WILDMENU
// Trigger the popup menu when wildoptions=pum // Trigger the popup menu when wildoptions=pum
showmatches(&xpc, p_wmnu showmatches(&xpc, p_wmnu
&& ((wim_flags[wim_index] & WIM_LIST) == 0)); && ((wim_flags[wim_index] & WIM_LIST) == 0));
#else
(void)showmatches(&xpc, FALSE);
#endif
} }
if (nextwild(&xpc, WILD_PREV, 0, firstc != '@') == OK if (nextwild(&xpc, WILD_PREV, 0, firstc != '@') == OK
&& nextwild(&xpc, WILD_PREV, 0, firstc != '@') == OK) && nextwild(&xpc, WILD_PREV, 0, firstc != '@') == OK)
@ -2318,12 +2279,11 @@ getcmdline_int(
goto cmdline_not_changed; goto cmdline_not_changed;
case Ctrl_A: // all matches case Ctrl_A: // all matches
#ifdef FEAT_WILDMENU
if (cmdline_pum_active()) if (cmdline_pum_active())
// As Ctrl-A completes all the matches, close the popup // As Ctrl-A completes all the matches, close the popup
// menu (if present) // menu (if present)
cmdline_pum_cleanup(&ccline); cmdline_pum_cleanup(&ccline);
#endif
if (nextwild(&xpc, WILD_ALL, 0, firstc != '@') == FAIL) if (nextwild(&xpc, WILD_ALL, 0, firstc != '@') == FAIL)
break; break;
xpc.xp_context = EXPAND_NOTHING; xpc.xp_context = EXPAND_NOTHING;
@ -2359,7 +2319,6 @@ getcmdline_int(
case K_KPAGEUP: case K_KPAGEUP:
case K_PAGEDOWN: case K_PAGEDOWN:
case K_KPAGEDOWN: case K_KPAGEDOWN:
#ifdef FEAT_WILDMENU
if (cmdline_pum_active() if (cmdline_pum_active()
&& (c == K_PAGEUP || c == K_PAGEDOWN || && (c == K_PAGEUP || c == K_PAGEDOWN ||
c == K_KPAGEUP || c == K_KPAGEDOWN)) c == K_KPAGEUP || c == K_KPAGEDOWN))
@ -2374,7 +2333,6 @@ getcmdline_int(
goto cmdline_not_changed; goto cmdline_not_changed;
} }
else else
#endif
{ {
res = cmdline_browse_history(c, firstc, &lookfor, histype, res = cmdline_browse_history(c, firstc, &lookfor, histype,
&hiscnt, &xpc); &hiscnt, &xpc);

View File

@ -119,6 +119,7 @@
* +file_in_path "gf" and "<cfile>" commands. * +file_in_path "gf" and "<cfile>" commands.
* +path_extra up/downwards searching in 'path' and 'tags'. * +path_extra up/downwards searching in 'path' and 'tags'.
* +wildignore 'wildignore' and 'backupskip' options * +wildignore 'wildignore' and 'backupskip' options
* +wildmenu 'wildmenu' option
* *
* Obsolete: * Obsolete:
* +tag_old_static Old style static tags: "file:tag file ..". * +tag_old_static Old style static tags: "file:tag file ..".
@ -338,13 +339,6 @@
# define FEAT_BYTEOFF # define FEAT_BYTEOFF
#endif #endif
/*
* +wildmenu 'wildmenu' option
*/
#if defined(FEAT_NORMAL)
# define FEAT_WILDMENU
#endif
/* /*
* +viminfo reading/writing the viminfo file. Takes about 8Kbyte * +viminfo reading/writing the viminfo file. Takes about 8Kbyte
* of code. * of code.

View File

@ -1341,13 +1341,11 @@ EXTERN int redir_execute INIT(= 0); // execute() redirection
EXTERN char_u langmap_mapchar[256]; // mapping for language keys EXTERN char_u langmap_mapchar[256]; // mapping for language keys
#endif #endif
#ifdef FEAT_WILDMENU
EXTERN int save_p_ls INIT(= -1); // Save 'laststatus' setting EXTERN int save_p_ls INIT(= -1); // Save 'laststatus' setting
EXTERN int save_p_wmh INIT(= -1); // Save 'winminheight' setting EXTERN int save_p_wmh INIT(= -1); // Save 'winminheight' setting
EXTERN int wild_menu_showing INIT(= 0); EXTERN int wild_menu_showing INIT(= 0);
# define WM_SHOWN 1 // wildmenu showing #define WM_SHOWN 1 // wildmenu showing
# define WM_SCROLLED 2 // wildmenu showing with scroll #define WM_SCROLLED 2 // wildmenu showing with scroll
#endif
#ifdef MSWIN #ifdef MSWIN
EXTERN char_u toupper_tab[256]; // table for toupper() EXTERN char_u toupper_tab[256]; // table for toupper()

View File

@ -204,10 +204,8 @@ static char *(highlight_init_light[]) = {
"Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta"), "Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta"),
CENT("WarningMsg term=standout ctermfg=DarkRed", CENT("WarningMsg term=standout ctermfg=DarkRed",
"WarningMsg term=standout ctermfg=DarkRed guifg=Red"), "WarningMsg term=standout ctermfg=DarkRed guifg=Red"),
#ifdef FEAT_WILDMENU
CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black", CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
"WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"), "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
#endif
#ifdef FEAT_FOLDING #ifdef FEAT_FOLDING
CENT("Folded term=standout ctermbg=Grey ctermfg=DarkBlue", CENT("Folded term=standout ctermbg=Grey ctermfg=DarkBlue",
"Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue"), "Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue"),
@ -295,10 +293,8 @@ static char *(highlight_init_dark[]) = {
"Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"), "Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta"),
CENT("WarningMsg term=standout ctermfg=LightRed", CENT("WarningMsg term=standout ctermfg=LightRed",
"WarningMsg term=standout ctermfg=LightRed guifg=Red"), "WarningMsg term=standout ctermfg=LightRed guifg=Red"),
#ifdef FEAT_WILDMENU
CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black", CENT("WildMenu term=standout ctermbg=Yellow ctermfg=Black",
"WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"), "WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black"),
#endif
#ifdef FEAT_FOLDING #ifdef FEAT_FOLDING
CENT("Folded term=standout ctermbg=DarkGrey ctermfg=Cyan", CENT("Folded term=standout ctermbg=DarkGrey ctermfg=Cyan",
"Folded term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=DarkGrey guifg=Cyan"), "Folded term=standout ctermbg=DarkGrey ctermfg=Cyan guibg=DarkGrey guifg=Cyan"),

View File

@ -1066,9 +1066,7 @@ EXTERN long p_wc; // 'wildchar'
EXTERN long p_wcm; // 'wildcharm' EXTERN long p_wcm; // 'wildcharm'
EXTERN int p_wic; // 'wildignorecase' EXTERN int p_wic; // 'wildignorecase'
EXTERN char_u *p_wim; // 'wildmode' EXTERN char_u *p_wim; // 'wildmode'
#ifdef FEAT_WILDMENU
EXTERN int p_wmnu; // 'wildmenu' EXTERN int p_wmnu; // 'wildmenu'
#endif
EXTERN long p_wh; // 'winheight' EXTERN long p_wh; // 'winheight'
EXTERN long p_wmh; // 'winminheight' EXTERN long p_wmh; // 'winminheight'
EXTERN long p_wmw; // 'winminwidth' EXTERN long p_wmw; // 'winminwidth'

View File

@ -2758,11 +2758,7 @@ static struct vimoption options[] =
(char_u *)&p_wic, PV_NONE, (char_u *)&p_wic, PV_NONE,
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
{"wildmenu", "wmnu", P_BOOL|P_VI_DEF, {"wildmenu", "wmnu", P_BOOL|P_VI_DEF,
#ifdef FEAT_WILDMENU
(char_u *)&p_wmnu, PV_NONE, (char_u *)&p_wmnu, PV_NONE,
#else
(char_u *)NULL, PV_NONE,
#endif
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT}, {(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
{"wildmode", "wim", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, {"wildmode", "wim", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
(char_u *)&p_wim, PV_NONE, (char_u *)&p_wim, PV_NONE,

View File

@ -234,12 +234,10 @@ pum_display(
max_width = pum_base_width; max_width = pum_base_width;
// Calculate column // Calculate column
#ifdef FEAT_WILDMENU
if (State == MODE_CMDLINE) if (State == MODE_CMDLINE)
// cmdline completion popup menu // cmdline completion popup menu
cursor_col = cmdline_compl_startcol(); cursor_col = cmdline_compl_startcol();
else else
#endif
#ifdef FEAT_RIGHTLEFT #ifdef FEAT_RIGHTLEFT
if (right_left) if (right_left)
cursor_col = curwin->w_wincol + curwin->w_width cursor_col = curwin->w_wincol + curwin->w_width

View File

@ -876,7 +876,6 @@ draw_vsep_win(win_T *wp, int row)
} }
} }
#ifdef FEAT_WILDMENU
static int skip_status_match_char(expand_T *xp, char_u *s); static int skip_status_match_char(expand_T *xp, char_u *s);
/* /*
@ -1144,7 +1143,6 @@ win_redr_status_matches(
win_redraw_last_status(topframe); win_redraw_last_status(topframe);
vim_free(buf); vim_free(buf);
} }
#endif
/* /*
* Return TRUE if the status line of window "wp" is connected to the status * Return TRUE if the status line of window "wp" is connected to the status

View File

@ -656,11 +656,7 @@ static char *(features[]) =
# endif # endif
#endif #endif
"+wildignore", "+wildignore",
#ifdef FEAT_WILDMENU
"+wildmenu", "+wildmenu",
#else
"-wildmenu",
#endif
"+windows", "+windows",
#ifdef FEAT_WRITEBACKUP #ifdef FEAT_WRITEBACKUP
"+writebackup", "+writebackup",
@ -719,6 +715,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
279,
/**/ /**/
278, 278,
/**/ /**/