diff options
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r-- | src/nvim/message.c | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c index af19d0ab87..97402276b2 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -475,7 +475,14 @@ void trunc_string(const char *s, char *buf, int room_in, int buflen) } } -// Note: Caller of smsg() must check the resulting string is shorter than IOSIZE!!! +/// Shows a printf-style message with attributes. +/// +/// Note: Caller must check the resulting string is shorter than IOSIZE!!! +/// +/// @see semsg +/// @see swmsg +/// +/// @param s printf-style format message int smsg(int attr, const char *s, ...) FUNC_ATTR_PRINTF(2, 3) { @@ -757,6 +764,8 @@ void emsg_invreg(int name) } /// Print an error message with unknown number of arguments +/// +/// @return whether the message was displayed bool semsg(const char *const fmt, ...) FUNC_ATTR_PRINTF(1, 2) { @@ -3337,9 +3346,22 @@ void give_warning(const char *message, bool hl) no_wait_return--; } -void give_warning2(const char *const message, const char *const a1, bool hl) +/// Shows a warning, with optional highlighting. +/// +/// @param hl enable highlighting +/// @param fmt printf-style format message +/// +/// @see smsg +/// @see semsg +void swmsg(bool hl, const char *const fmt, ...) + FUNC_ATTR_PRINTF(2, 3) { - vim_snprintf(IObuff, IOSIZE, message, a1); + va_list args; + + va_start(args, fmt); + vim_vsnprintf(IObuff, IOSIZE, fmt, args); + va_end(args); + give_warning(IObuff, hl); } |