comparison src/drawscreen.c @ 29881:0cc9a3001717 v9.0.0279

patch 9.0.0279: the tiny version has the popup menu but not 'wildmenu' Commit: https://github.com/vim/vim/commit/5416232707349d5f24294178f47544f2024b73ed Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 26 16:58:51 2022 +0100 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.
author Bram Moolenaar <Bram@vim.org>
date Fri, 26 Aug 2022 18:00:05 +0200
parents 6c7eddcce52c
children 991bec040ce9
comparison
equal deleted inserted replaced
29880:bd3aac5d1d9e 29881:0cc9a3001717
3082 if (do_message) 3082 if (do_message)
3083 repeat_message(); 3083 repeat_message();
3084 } 3084 }
3085 else if (State & MODE_CMDLINE) 3085 else if (State & MODE_CMDLINE)
3086 { 3086 {
3087 #ifdef FEAT_WILDMENU
3088 if (pum_visible()) 3087 if (pum_visible())
3089 cmdline_pum_display(); 3088 cmdline_pum_display();
3090 #endif 3089
3091 // Don't redraw when in prompt_for_number(). 3090 // Don't redraw when in prompt_for_number().
3092 if (cmdline_row > 0) 3091 if (cmdline_row > 0)
3093 { 3092 {
3094 // Redrawing only works when the screen didn't scroll. Don't clear 3093 // Redrawing only works when the screen didn't scroll. Don't clear
3095 // wildmenu entries. 3094 // wildmenu entries.
3096 if (msg_scrolled == 0 3095 if (msg_scrolled == 0
3097 #ifdef FEAT_WILDMENU
3098 && wild_menu_showing == 0 3096 && wild_menu_showing == 0
3099 #endif
3100 && call_update_screen) 3097 && call_update_screen)
3101 update_screen(0); 3098 update_screen(0);
3102 3099
3103 // Redraw in the same position, so that the user can continue 3100 // Redraw in the same position, so that the user can continue
3104 // editing the command. 3101 // editing the command.
3239 void 3236 void
3240 redraw_buf_and_status_later(buf_T *buf, int type) 3237 redraw_buf_and_status_later(buf_T *buf, int type)
3241 { 3238 {
3242 win_T *wp; 3239 win_T *wp;
3243 3240
3244 #ifdef FEAT_WILDMENU
3245 if (wild_menu_showing != 0) 3241 if (wild_menu_showing != 0)
3246 // Don't redraw while the command line completion is displayed, it 3242 // Don't redraw while the command line completion is displayed, it
3247 // would disappear. 3243 // would disappear.
3248 return; 3244 return;
3249 #endif
3250 FOR_ALL_WINDOWS(wp) 3245 FOR_ALL_WINDOWS(wp)
3251 { 3246 {
3252 if (wp->w_buffer == buf) 3247 if (wp->w_buffer == buf)
3253 { 3248 {
3254 redraw_win_later(wp, type); 3249 redraw_win_later(wp, type);
3303 win_redr_status(wp, FALSE); 3298 win_redr_status(wp, FALSE);
3304 if (redraw_tabline) 3299 if (redraw_tabline)
3305 draw_tabline(); 3300 draw_tabline();
3306 } 3301 }
3307 3302
3308 #if defined(FEAT_WILDMENU) || defined(PROTO)
3309 /* 3303 /*
3310 * Redraw all status lines at the bottom of frame "frp". 3304 * Redraw all status lines at the bottom of frame "frp".
3311 */ 3305 */
3312 void 3306 void
3313 win_redraw_last_status(frame_T *frp) 3307 win_redraw_last_status(frame_T *frp)
3325 while (frp->fr_next != NULL) 3319 while (frp->fr_next != NULL)
3326 frp = frp->fr_next; 3320 frp = frp->fr_next;
3327 win_redraw_last_status(frp); 3321 win_redraw_last_status(frp);
3328 } 3322 }
3329 } 3323 }
3330 #endif
3331 3324
3332 /* 3325 /*
3333 * Changed something in the current window, at buffer line "lnum", that 3326 * Changed something in the current window, at buffer line "lnum", that
3334 * requires that line and possibly other lines to be redrawn. 3327 * requires that line and possibly other lines to be redrawn.
3335 * Used when entering/leaving Insert mode with the cursor on a folded line. 3328 * Used when entering/leaving Insert mode with the cursor on a folded line.