# HG changeset patch # User Bram Moolenaar # Date 1665662405 -7200 # Node ID 442a574ffae349bf14f24b5c2ff2dd57ef86f633 # Parent 669a30fb92d701dd1533c34852a083f52002f024 patch 9.0.0738: cannot suppress completion "scanning" messages Commit: https://github.com/vim/vim/commit/91ccbad5ded8bcf2cc93a873ff2c3179b0c548c7 Author: =?UTF-8?q?Bj=C3=B6rn=20Linse?= Date: Thu Oct 13 12:51:13 2022 +0100 patch 9.0.0738: cannot suppress completion "scanning" messages Problem: Cannot suppress completion "scanning" messages. Solution: Add the "C" flag in 'shortmess'. (Bjorn Linse, closes https://github.com/vim/vim/issues/11354) diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -7079,6 +7079,8 @@ A jump table for the options with a shor 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. + C don't give messages while scanning for ins-completion items, + for instance "scanning tags" q use "recording" instead of "recording @a" F don't give the file info when editing a file, like `:silent` was used for the command; note that this also affects messages diff --git a/src/insexpand.c b/src/insexpand.c --- a/src/insexpand.c +++ b/src/insexpand.c @@ -1573,7 +1573,7 @@ ins_compl_files( for (i = 0; i < count && !got_int && !compl_interrupted; i++) { fp = mch_fopen((char *)files[i], "r"); // open dictionary file - if (flags != DICT_EXACT) + if (flags != DICT_EXACT && !shortmess(SHM_COMPLETIONSCAN)) { msg_hist_off = TRUE; // reset in msg_trunc_attr() vim_snprintf((char *)IObuff, IOSIZE, @@ -3281,14 +3281,17 @@ process_next_cpt_value( st->dict = st->ins_buf->b_fname; st->dict_f = DICT_EXACT; } - msg_hist_off = TRUE; // reset in msg_trunc_attr() - vim_snprintf((char *)IObuff, IOSIZE, _("Scanning: %s"), - st->ins_buf->b_fname == NULL - ? buf_spname(st->ins_buf) - : st->ins_buf->b_sfname == NULL - ? st->ins_buf->b_fname - : st->ins_buf->b_sfname); - (void)msg_trunc_attr((char *)IObuff, TRUE, HL_ATTR(HLF_R)); + if (!shortmess(SHM_COMPLETIONSCAN)) + { + msg_hist_off = TRUE; // reset in msg_trunc_attr() + vim_snprintf((char *)IObuff, IOSIZE, _("Scanning: %s"), + st->ins_buf->b_fname == NULL + ? buf_spname(st->ins_buf) + : st->ins_buf->b_sfname == NULL + ? st->ins_buf->b_fname + : st->ins_buf->b_sfname); + (void)msg_trunc_attr((char *)IObuff, TRUE, HL_ATTR(HLF_R)); + } } else if (*st->e_cpt == NUL) status = INS_COMPL_CPT_END; @@ -3316,10 +3319,13 @@ process_next_cpt_value( #endif else if (*st->e_cpt == ']' || *st->e_cpt == 't') { - msg_hist_off = TRUE; // reset in msg_trunc_attr() compl_type = CTRL_X_TAGS; - vim_snprintf((char *)IObuff, IOSIZE, _("Scanning tags.")); - (void)msg_trunc_attr((char *)IObuff, TRUE, HL_ATTR(HLF_R)); + if (!shortmess(SHM_COMPLETIONSCAN)) + { + msg_hist_off = TRUE; // reset in msg_trunc_attr() + vim_snprintf((char *)IObuff, IOSIZE, _("Scanning tags.")); + (void)msg_trunc_attr((char *)IObuff, TRUE, HL_ATTR(HLF_R)); + } } else compl_type = -1; diff --git a/src/option.h b/src/option.h --- a/src/option.h +++ b/src/option.h @@ -265,11 +265,12 @@ typedef enum { #define SHM_ATTENTION 'A' // no ATTENTION messages #define SHM_INTRO 'I' // intro messages #define SHM_COMPLETIONMENU 'c' // completion menu messages +#define SHM_COMPLETIONSCAN 'C' // completion scanning messages #define SHM_RECORDING 'q' // short recording message #define SHM_FILEINFO 'F' // no file info messages #define SHM_SEARCHCOUNT 'S' // search stats: '[1/10]' #define SHM_POSIX "AS" // POSIX value -#define SHM_ALL "rmfixlnwaWtToOsAIcqFS" // all possible flags for 'shm' +#define SHM_ALL "rmfixlnwaWtToOsAIcCqFS" // all possible flags for 'shm' // characters for p_go: #define GO_TERMINAL '!' // use terminal for system commands diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 738, +/**/ 737, /**/ 736,