aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/message.c
diff options
context:
space:
mode:
authorThomas Vigouroux <thomas.vigouroux@protonmail.com>2023-07-19 17:56:25 +0200
committerGitHub <noreply@github.com>2023-07-19 16:56:25 +0100
commit30a5c28c8740d2e07c20cb58822b7d7aa489b728 (patch)
tree6dced02f6777be52feb94f2dc1d7537a59950500 /src/nvim/message.c
parent2f22ed6a00db10c4852a8fa232b8782f8b6a6646 (diff)
downloadrneovim-30a5c28c8740d2e07c20cb58822b7d7aa489b728.tar.gz
rneovim-30a5c28c8740d2e07c20cb58822b7d7aa489b728.tar.bz2
rneovim-30a5c28c8740d2e07c20cb58822b7d7aa489b728.zip
feat(decoration_provider): log errors as error messages
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r--src/nvim/message.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index c60e5c31fd..1f6790225c 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -885,6 +885,24 @@ void msg_schedule_semsg(const char *const fmt, ...)
loop_schedule_deferred(&main_loop, event_create(msg_semsg_event, 1, s));
}
+static void msg_semsg_multiline_event(void **argv)
+{
+ char *s = argv[0];
+ (void)emsg_multiline(s, true);
+ xfree(s);
+}
+
+void msg_schedule_semsg_multiline(const char *const fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ vim_vsnprintf((char *)IObuff, IOSIZE, fmt, ap);
+ va_end(ap);
+
+ char *s = xstrdup((char *)IObuff);
+ loop_schedule_deferred(&main_loop, event_create(msg_semsg_multiline_event, 1, s));
+}
+
/// Like msg(), but truncate to a single line if p_shm contains 't', or when
/// "force" is true. This truncates in another way as for normal messages.
/// Careful: The string may be changed by msg_may_trunc()!