aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/message.c
diff options
context:
space:
mode:
authorluukvbaal <luukvbaal@gmail.com>2024-12-19 15:24:48 +0100
committerGitHub <noreply@github.com>2024-12-19 06:24:48 -0800
commit31d6885deba01fe0e7262dca58c94220c2fe32fc (patch)
tree8ac191d85495192f2e54e73c9b0515afed43f2ab /src/nvim/message.c
parent02bc40c19401ea9f7529cbc81bd18bd01c39bb3c (diff)
downloadrneovim-31d6885deba01fe0e7262dca58c94220c2fe32fc.tar.gz
rneovim-31d6885deba01fe0e7262dca58c94220c2fe32fc.tar.bz2
rneovim-31d6885deba01fe0e7262dca58c94220c2fe32fc.zip
fix(messages): better formatting for :highlight with ext_messages #31627
Also avoid going down message callstack with empty message, and remove expected grid for some tests where it did not change, and we are just testing for expected messages.
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r--src/nvim/message.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index edb332a786..066aa6bc96 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -2129,8 +2129,8 @@ void msg_puts_len(const char *const str, const ptrdiff_t len, int hl_id, bool hi
// If redirection is on, also write to the redirection file.
redir_write(str, len);
- // Don't print anything when using ":silent cmd".
- if (msg_silent != 0) {
+ // Don't print anything when using ":silent cmd" or empty message.
+ if (msg_silent != 0 || *str == NUL) {
return;
}
@@ -2238,6 +2238,11 @@ static void msg_puts_display(const char *str, int maxlen, int hl_id, int recurse
size_t len = maxlen < 0 ? strlen(str) : strnlen(str, (size_t)maxlen);
ga_concat_len(&msg_ext_last_chunk, str, len);
msg_ext_cur_len += len;
+ // When message ends in newline, reset variables used to format message: msg_advance().
+ if (str[len - 1] == '\n') {
+ msg_ext_cur_len = 0;
+ msg_col = 0;
+ }
return;
}