]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.0738: cannot suppress completion "scanning" messages v9.0.0738
author=?UTF-8?q?Bj=C3=B6rn=20Linse?= <bjorn.linse@gmail.com>
Thu, 13 Oct 2022 11:51:13 +0000 (12:51 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 13 Oct 2022 11:51:13 +0000 (12:51 +0100)
Problem:    Cannot suppress completion "scanning" messages.
Solution:   Add the "C" flag in 'shortmess'. (Bjorn Linse, closes #11354)

runtime/doc/options.txt
src/insexpand.c
src/option.h
src/version.c

index b3c4a408eca3e02e0a8cbe7ab1a305ff4d4ba8d9..ee6e5da201c45f75738e19181e468b1d2e23e97b 100644 (file)
@@ -7079,6 +7079,8 @@ A jump table for the options with a short description can be found at |Q_op|.
          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
index 8f8157e01fab40f0e5cd6f96569e538606a12dc0..36a8ab1fd2dfb72dec75b7dd6c78de1cedf7bc3e 100644 (file)
@@ -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;
index 0e98824dc2c32322895ca89c671a9d8a302c7ef9..19e2a781a5fa32950fbf786d7bf1eb7e9cdd3e79 100644 (file)
@@ -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
index 9a485a09839932c7d61233d1c17142c5942b7523..e3a6f360f7e0a198a5f3e8797ed16e30c53a07ef 100644 (file)
@@ -699,6 +699,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    738,
 /**/
     737,
 /**/