aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/message.c
diff options
context:
space:
mode:
authorckelsel <ckelsel@hotmail.com>2017-08-17 08:20:48 +0800
committerckelsel <ckelsel@hotmail.com>2017-08-17 08:20:48 +0800
commit673fc748237345914e0ad584bc4cba997c96a37e (patch)
tree7f55a3b3dd362fbbc59ff204287a0aae99089e5e /src/nvim/message.c
parent5d332084e1ca4c29b1ccb90ea44c3b861dac5701 (diff)
parent5b32bce73c93a64970afe0e92e0a8ba2fed88619 (diff)
downloadrneovim-673fc748237345914e0ad584bc4cba997c96a37e.tar.gz
rneovim-673fc748237345914e0ad584bc4cba997c96a37e.tar.bz2
rneovim-673fc748237345914e0ad584bc4cba997c96a37e.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r--src/nvim/message.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index 28c88f5a14..b90c475ede 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -1628,6 +1628,27 @@ void msg_puts_attr_len(const char *const str, const ptrdiff_t len, int attr)
}
}
+/// Print a formatted message
+///
+/// Message printed is limited by #IOSIZE. Must not be used from inside
+/// msg_puts_attr().
+///
+/// @param[in] attr Highlight attributes.
+/// @param[in] fmt Format string.
+void msg_printf_attr(const int attr, const char *const fmt, ...)
+ FUNC_ATTR_NONNULL_ARG(2)
+{
+ static char msgbuf[IOSIZE];
+
+ va_list ap;
+ va_start(ap, fmt);
+ const size_t len = vim_vsnprintf(msgbuf, sizeof(msgbuf), fmt, ap, NULL);
+ va_end(ap);
+
+ msg_scroll = true;
+ msg_puts_attr_len(msgbuf, (ptrdiff_t)len, attr);
+}
+
/*
* The display part of msg_puts_attr_len().
* May be called recursively to display scroll-back text.