diff options
-rw-r--r-- | runtime/doc/ui.txt | 3 | ||||
-rw-r--r-- | src/nvim/eval/funcs.c | 2 | ||||
-rw-r--r-- | src/nvim/spellsuggest.c | 2 | ||||
-rw-r--r-- | src/nvim/tag.c | 1 | ||||
-rw-r--r-- | test/functional/ui/messages_spec.lua | 51 |
5 files changed, 52 insertions, 7 deletions
diff --git a/runtime/doc/ui.txt b/runtime/doc/ui.txt index d8a0e3d0d7..a3e09a9ea5 100644 --- a/runtime/doc/ui.txt +++ b/runtime/doc/ui.txt @@ -791,7 +791,8 @@ must handle. Name indicating the message kind: "" (empty) Unknown (consider a |feature-request|) "bufwrite" |:write| message - "confirm" |confirm()| or |:confirm| dialog + "confirm" Message preceding a prompt (|:confirm|, + |confirm()|, |inputlist()|, |z=,|, …) "emsg" Error (|errors|, internal error, |:throw|, …) "echo" |:echo| message "echomsg" |:echomsg| message diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index 8e83b3d146..7cec2aaa06 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -3556,7 +3556,7 @@ static void f_inputlist(typval_T *argvars, typval_T *rettv, EvalFuncData fptr) return; } - msg_ext_set_kind("list_cmd"); + msg_ext_set_kind("confirm"); msg_start(); msg_row = Rows - 1; // for when 'cmdheight' > 1 lines_left = Rows; // avoid more prompt diff --git a/src/nvim/spellsuggest.c b/src/nvim/spellsuggest.c index 21bfa367bf..ca47d9ea3c 100644 --- a/src/nvim/spellsuggest.c +++ b/src/nvim/spellsuggest.c @@ -516,7 +516,7 @@ void spell_suggest(int count) spell_find_suggest(line + curwin->w_cursor.col, badlen, &sug, limit, true, need_cap, true); - msg_ext_set_kind("list_cmd"); + msg_ext_set_kind("confirm"); if (GA_EMPTY(&sug.su_ga)) { msg(_("Sorry, no suggestions"), 0); } else if (count > 0) { diff --git a/src/nvim/tag.c b/src/nvim/tag.c index c99a8083e4..557d41a467 100644 --- a/src/nvim/tag.c +++ b/src/nvim/tag.c @@ -813,6 +813,7 @@ static void print_tag_list(bool new_tag, bool use_tagstack, int num_matches, cha if (msg_col == 0) { msg_didout = false; // overwrite previous message } + msg_ext_set_kind("confirm"); msg_start(); msg_puts_hl(_(" # pri kind tag"), HLF_T, false); msg_clr_eos(); diff --git a/test/functional/ui/messages_spec.lua b/test/functional/ui/messages_spec.lua index 5c55dfe910..26254be58e 100644 --- a/test/functional/ui/messages_spec.lua +++ b/test/functional/ui/messages_spec.lua @@ -33,6 +33,7 @@ describe('ui/ext_messages', function() screen = Screen.new(25, 5, { rgb = true, ext_messages = true, ext_popupmenu = true }) screen:add_extra_attr_ids { [100] = { undercurl = true, special = Screen.colors.Red }, + [101] = { foreground = Screen.colors.Magenta1, bold = true }, } end) after_each(function() @@ -391,10 +392,52 @@ describe('ui/ext_messages', function() }, }) + feed('<CR>') + n.add_builddir_to_rtp() + feed(':help<CR>:tselect<CR>') + local tagfile = t.paths.test_build_dir .. '/runtime/doc/help.txt' + if t.is_os('win') then + tagfile = tagfile:gsub('/', '\\') + end + screen:expect({ + grid = [[ + ^*help.txt* Nvim | + | + {3:help.txt [Help][RO] }| + line | + {2:<i_messages_spec [+][RO] }| + ]], + cmdline = { + { + content = { { '' } }, + hl_id = 0, + pos = 0, + prompt = 'Type number and <Enter> (q or empty cancels): ', + }, + }, + messages = { + { + content = { + { ' # pri kind tag', 101, 23 }, + { '\n ' }, + { 'file\n', 101, 23 }, + { '> 1 F ' }, + { 'help.txt', 101, 23 }, + { ' \n ' }, + { tagfile, 18, 5 }, + { '\n *help.txt*\n' }, + }, + history = false, + kind = 'confirm', + }, + }, + }) + feed('<CR>:bd<CR>') + -- kind=shell for :!cmd messages local cmd = t.is_os('win') and 'echo stdout& echo stderr>&2& exit 3' or '{ echo stdout; echo stderr >&2; exit 3; }' - feed(('<CR>:!%s<CR>'):format(cmd)) + feed((':!%s<CR>'):format(cmd)) screen:expect({ cmdline = { { abort = false } }, messages = { @@ -1266,7 +1309,7 @@ stack traceback: { content = { { 'Change "helllo" to:\n 1 "Hello"\n 2 "Hallo"\n 3 "Hullo"\n' } }, history = false, - kind = 'list_cmd', + kind = 'confirm', }, }, }) @@ -1289,7 +1332,7 @@ stack traceback: { content = { { 'Change "helllo" to:\n 1 "Hello"\n 2 "Hallo"\n 3 "Hullo"\n' } }, history = false, - kind = 'list_cmd', + kind = 'confirm', }, }, }) @@ -1321,7 +1364,7 @@ stack traceback: { content = { { 'input0\ninput1\n' } }, history = false, - kind = 'list_cmd', + kind = 'confirm', }, }, }) |