diff options
author | Thomas Vigouroux <thomas.vigouroux@protonmail.com> | 2023-07-19 17:56:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-19 16:56:25 +0100 |
commit | 30a5c28c8740d2e07c20cb58822b7d7aa489b728 (patch) | |
tree | 6dced02f6777be52feb94f2dc1d7537a59950500 /src/nvim/message.c | |
parent | 2f22ed6a00db10c4852a8fa232b8782f8b6a6646 (diff) | |
download | rneovim-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.c | 18 |
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()! |