aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/vim.c
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2025-01-07 14:20:45 +0100
committerLuuk van Baal <luukvbaal@gmail.com>2025-01-09 13:35:40 +0100
commitead5683ff9994c0fbfc6c38e0911d9455777550b (patch)
treeaf8d0e65f3640393077202bbf44a57da7199ac76 /src/nvim/api/vim.c
parentb67fcd0488746b079a3b721ae4800af94cd126e1 (diff)
downloadrneovim-ead5683ff9994c0fbfc6c38e0911d9455777550b.tar.gz
rneovim-ead5683ff9994c0fbfc6c38e0911d9455777550b.tar.bz2
rneovim-ead5683ff9994c0fbfc6c38e0911d9455777550b.zip
feat(api): add err field to nvim_echo() opts
Problem: We want to deprecate `nvim_err_write(ln)()` but there is no obvious replacement (from Lua). Meanwhile we already have `nvim_echo()` with an `opts` argument. Solution: Add `err` argument to `nvim_echo()` that directly maps to `:echoerr`.
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r--src/nvim/api/vim.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index e3e69f4ff6..f0848b7e04 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -775,13 +775,15 @@ void nvim_set_vvar(String name, Object value, Error *err)
/// `hl_group` element can be omitted for no highlight.
/// @param history if true, add to |message-history|.
/// @param opts Optional parameters.
+/// - err: Treat the message like |:echoerr|. Omitted `hlgroup`
+/// uses |hl-ErrorMsg| instead.
/// - verbose: Message is printed as a result of 'verbose' option.
/// If Nvim was invoked with -V3log_file, the message will be
/// redirected to the log_file and suppressed from direct output.
void nvim_echo(Array chunks, Boolean history, Dict(echo_opts) *opts, Error *err)
FUNC_API_SINCE(7)
{
- HlMessage hl_msg = parse_hl_msg(chunks, err);
+ HlMessage hl_msg = parse_hl_msg(chunks, opts->err, err);
if (ERROR_SET(err)) {
goto error;
}
@@ -790,7 +792,7 @@ void nvim_echo(Array chunks, Boolean history, Dict(echo_opts) *opts, Error *err)
verbose_enter();
}
- msg_multihl(hl_msg, history ? "echomsg" : "echo", history);
+ msg_multihl(hl_msg, opts->err ? "echoerr" : history ? "echomsg" : "echo", history, opts->err);
if (opts->verbose) {
verbose_leave();