diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 7899f40e24..5763d16cad 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -4048,22 +4048,24 @@ A jump table for the options with a short description can be found at |Q_op|. *'messagesopt'* *'mopt'* 'messagesopt' 'mopt' string (default "hit-enter,history:500") global - Option settings when outputting messages. It can consist of the + Option settings for outputting messages. It can consist of the following items. Items must be separated by a comma. - hit-enter Use |hit-enter| prompt when the message is longer than + hit-enter Use a |hit-enter| prompt when the message is longer than 'cmdheight' size. - wait:{n} Ignored when "hit-enter" is present. Instead of using - |hit-enter| prompt, will simply wait for {n} - milliseconds so the user has a chance to read the - message, use 0 to disable sleep (but then the user may - miss an important message). - The maximum value is 10000. + wait:{n} Instead of using a |hit-enter| prompt, simply wait for + {n} milliseconds so that the user has a chance to read + the message. The maximum value of {n} is 10000. Use + 0 to disable the wait (but then the user may miss an + important message). + This item is ignored when "hit-enter" is present, but + required when "hit-enter" is not present. history:{n} Determines how many entries are remembered in the |:messages| history. The maximum value is 10000. Setting it to zero clears the message history. + This item must always be present. *'mkspellmem'* *'msm'* 'mkspellmem' 'msm' string (default "460000,2000,500") diff --git a/runtime/lua/vim/_meta/options.lua b/runtime/lua/vim/_meta/options.lua index e38fa4a89f..7a8c3a6c29 100644 --- a/runtime/lua/vim/_meta/options.lua +++ b/runtime/lua/vim/_meta/options.lua @@ -4084,22 +4084,24 @@ vim.o.mis = vim.o.menuitems vim.go.menuitems = vim.o.menuitems vim.go.mis = vim.go.menuitems ---- Option settings when outputting messages. It can consist of the +--- Option settings for outputting messages. It can consist of the --- following items. Items must be separated by a comma. --- ---- hit-enter Use `hit-enter` prompt when the message is longer than +--- hit-enter Use a `hit-enter` prompt when the message is longer than --- 'cmdheight' size. --- ---- wait:{n} Ignored when "hit-enter" is present. Instead of using ---- `hit-enter` prompt, will simply wait for {n} ---- milliseconds so the user has a chance to read the ---- message, use 0 to disable sleep (but then the user may ---- miss an important message). ---- The maximum value is 10000. +--- wait:{n} Instead of using a `hit-enter` prompt, simply wait for +--- {n} milliseconds so that the user has a chance to read +--- the message. The maximum value of {n} is 10000. Use +--- 0 to disable the wait (but then the user may miss an +--- important message). +--- This item is ignored when "hit-enter" is present, but +--- required when "hit-enter" is not present. --- --- history:{n} Determines how many entries are remembered in the --- `:messages` history. The maximum value is 10000. --- Setting it to zero clears the message history. +--- This item must always be present. --- --- @type string vim.o.messagesopt = "hit-enter,history:500" diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 923f55f8fa..6866d46d51 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: The Vim Project -" Last Change: 2024 Jul 12 +" Last Change: 2024 Dec 07 " Former Maintainer: Bram Moolenaar " If there already is an option window, jump to that one. @@ -626,7 +626,7 @@ call AddOption("terse", gettext("add 's' flag in 'shortmess' (don't show se call BinOptionG("terse", &terse) call AddOption("shortmess", gettext("list of flags to make messages shorter")) call OptionG("shm", &shm) -call AddOption("messagesopt", gettext("Option settings when outputting messages")) +call AddOption("messagesopt", gettext("options for outputting messages")) call OptionG("mopt", &mopt) call AddOption("showcmd", gettext("show (partial) command keys in location given by 'showcmdloc'")) let &sc = s:old_sc diff --git a/src/nvim/message.c b/src/nvim/message.c index f6424c4644..d8e6fd3001 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -1063,7 +1063,7 @@ int messagesopt_changed(void) int messages_wait_new = 0; int messages_history_new = 0; - char *p = p_meo; + char *p = p_mopt; while (*p != NUL) { if (strnequal(p, S_LEN(MESSAGES_OPT_HIT_ENTER))) { p += STRLEN_LITERAL(MESSAGES_OPT_HIT_ENTER); diff --git a/src/nvim/option_vars.h b/src/nvim/option_vars.h index aca876bddb..97455380cc 100644 --- a/src/nvim/option_vars.h +++ b/src/nvim/option_vars.h @@ -448,7 +448,7 @@ EXTERN OptInt p_mfd; ///< 'maxfuncdepth' EXTERN OptInt p_mmd; ///< 'maxmapdepth' EXTERN OptInt p_mmp; ///< 'maxmempattern' EXTERN OptInt p_mis; ///< 'menuitems' -EXTERN char *p_meo; ///< 'messagesopt' +EXTERN char *p_mopt; ///< 'messagesopt' EXTERN char *p_msm; ///< 'mkspellmem' EXTERN int p_ml; ///< 'modeline' EXTERN int p_mle; ///< 'modelineexpr' diff --git a/src/nvim/options.lua b/src/nvim/options.lua index e08f3d1410..afce4a918b 100644 --- a/src/nvim/options.lua +++ b/src/nvim/options.lua @@ -5456,22 +5456,24 @@ return { flags = true, deny_duplicates = true, desc = [=[ - Option settings when outputting messages. It can consist of the + Option settings for outputting messages. It can consist of the following items. Items must be separated by a comma. - hit-enter Use |hit-enter| prompt when the message is longer than + hit-enter Use a |hit-enter| prompt when the message is longer than 'cmdheight' size. - wait:{n} Ignored when "hit-enter" is present. Instead of using - |hit-enter| prompt, will simply wait for {n} - milliseconds so the user has a chance to read the - message, use 0 to disable sleep (but then the user may - miss an important message). - The maximum value is 10000. + wait:{n} Instead of using a |hit-enter| prompt, simply wait for + {n} milliseconds so that the user has a chance to read + the message. The maximum value of {n} is 10000. Use + 0 to disable the wait (but then the user may miss an + important message). + This item is ignored when "hit-enter" is present, but + required when "hit-enter" is not present. history:{n} Determines how many entries are remembered in the |:messages| history. The maximum value is 10000. Setting it to zero clears the message history. + This item must always be present. ]=], expand_cb = 'expand_set_messagesopt', full_name = 'messagesopt', @@ -5479,7 +5481,7 @@ return { scope = { 'global' }, short_desc = N_('options for outputting messages'), type = 'string', - varname = 'p_meo', + varname = 'p_mopt', }, { abbreviation = 'msm', diff --git a/test/old/testdir/test_messages.vim b/test/old/testdir/test_messages.vim index d79bc0fae7..bfead20142 100644 --- a/test/old/testdir/test_messages.vim +++ b/test/old/testdir/test_messages.vim @@ -646,12 +646,12 @@ func Test_messagesopt_wait() " Check hit-enter prompt call term_sendkeys(buf, ":set messagesopt=hit-enter,history:500\n") - call term_sendkeys(buf, ":echo 'foo' | echo 'bar' echo 'baz'\n") + call term_sendkeys(buf, ":echo 'foo' | echo 'bar' | echo 'baz'\n") call WaitForAssert({-> assert_equal('Press ENTER or type command to continue', term_getline(buf, 6))}) " Check no hit-enter prompt when "wait:" is set call term_sendkeys(buf, ":set messagesopt=wait:100,history:500\n") - call term_sendkeys(buf, ":echo 'foo' | echo 'bar' echo 'baz'\n") + call term_sendkeys(buf, ":echo 'foo' | echo 'bar' | echo 'baz'\n") call WaitForAssert({-> assert_equal(' 0,0-1 All', term_getline(buf, 6))}) " clean up