aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornotomo <notomo.motono@gmail.com>2021-01-21 21:49:25 +0900
committernotomo <notomo.motono@gmail.com>2021-01-21 21:49:42 +0900
commitd3989ea8e8b9b538731cc6ce5b86fa2dba897f09 (patch)
tree411b91998d37bbeb1888ff3b461c9f4877af09fb
parentd68026c9ed0c161ee98d4b71454ef5a7fad1aeec (diff)
downloadrneovim-d3989ea8e8b9b538731cc6ce5b86fa2dba897f09.tar.gz
rneovim-d3989ea8e8b9b538731cc6ce5b86fa2dba897f09.tar.bz2
rneovim-d3989ea8e8b9b538731cc6ce5b86fa2dba897f09.zip
api(echo): should clear cmdline before echo
-rw-r--r--src/nvim/api/vim.c3
-rw-r--r--test/functional/api/vim_spec.lua14
2 files changed, 16 insertions, 1 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index 9e2fb6da6f..09895a2119 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -1011,8 +1011,9 @@ void nvim_echo(Array chunks, Boolean history, Dictionary opts, Error *err)
}
no_wait_return++;
- bool need_clear = true;
msg_start();
+ msg_clr_eos();
+ bool need_clear = false;
for (uint32_t i = 0; i < kv_size(hl_msg); i++) {
HlMessageChunk chunk = kv_A(hl_msg, i);
msg_multiline_attr((const char *)chunk.text.data, chunk.attr,
diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua
index 1d8ffc2087..3ff3efb8c9 100644
--- a/test/functional/api/vim_spec.lua
+++ b/test/functional/api/vim_spec.lua
@@ -2021,6 +2021,20 @@ describe('API', function()
command('highlight Special guifg=SlateBlue')
end)
+ it('should clear cmdline message before echo', function()
+ feed(':call nvim_echo([["msg"]], v:false, {})<CR>')
+ screen:expect{grid=[[
+ ^ |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ msg |
+ ]]}
+ end)
+
it('can show highlighted line', function()
nvim_async("echo", {{"msg_a"}, {"msg_b", "Statement"}, {"msg_c", "Special"}}, true, {})
screen:expect{grid=[[