Mercurial > vim
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. |