mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 16:58:17 +00:00
feat(ui): allow to set the highlight namespace per window
- reimplement 'winhl' in terms of highlight namespaces - check for EOF in screen tests (to indicate a likely crash)
This commit is contained in:
@@ -426,3 +426,28 @@ Object nvim_win_call(Window window, LuaRef fun, Error *err)
|
||||
try_end(err);
|
||||
return res;
|
||||
}
|
||||
|
||||
/// Set highlight namespace for a window. This will use highlights defined in
|
||||
/// this namespace, but fall back to global highlights (ns=0) when missing.
|
||||
///
|
||||
/// This takes predecence over the 'winhighlight' option.
|
||||
///
|
||||
/// @param ns_id the namespace to use
|
||||
/// @param[out] err Error details, if any
|
||||
void nvim_win_set_hl_ns(Window window, Integer ns_id, Error *err)
|
||||
FUNC_API_SINCE(10)
|
||||
{
|
||||
win_T *win = find_window_by_handle(window, err);
|
||||
if (!win) {
|
||||
return;
|
||||
}
|
||||
|
||||
// -1 is allowed as inherit global namespace
|
||||
if (ns_id < -1) {
|
||||
api_set_error(err, kErrorTypeValidation, "no such namespace");
|
||||
}
|
||||
|
||||
win->w_ns_hl = (NS)ns_id;
|
||||
win->w_hl_needs_update = true;
|
||||
redraw_later(win, NOT_VALID);
|
||||
}
|
||||
|
Reference in New Issue
Block a user