From a4d3804837e865ca11d2fd0701d23f7eda4da4e4 Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Fri, 26 Mar 2021 00:45:27 +0100 Subject: Border: allow to enable/disable specific border edges --- src/nvim/highlight.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/nvim/highlight.c') diff --git a/src/nvim/highlight.c b/src/nvim/highlight.c index 329c448cf0..79801262cb 100644 --- a/src/nvim/highlight.c +++ b/src/nvim/highlight.c @@ -8,6 +8,7 @@ #include "nvim/highlight_defs.h" #include "nvim/map.h" #include "nvim/message.h" +#include "nvim/option.h" #include "nvim/popupmnu.h" #include "nvim/screen.h" #include "nvim/syntax.h" @@ -342,16 +343,24 @@ void update_window_hl(win_T *wp, bool invalid) wp->w_hl_attrs[hlf] = attr; } + wp->w_float_config.shadow = false; if (wp->w_floating && wp->w_float_config.border) { for (int i = 0; i < 8; i++) { int attr = wp->w_hl_attrs[HLF_BORDER]; if (wp->w_float_config.border_hl_ids[i]) { attr = hl_get_ui_attr(HLF_BORDER, wp->w_float_config.border_hl_ids[i], false); + HlAttrs a = syn_attr2entry(attr); + if (a.hl_blend) { + wp->w_float_config.shadow = true; + } } wp->w_float_config.border_attr[i] = attr; } } + + // shadow might cause blending + check_blending(wp); } /// Gets HL_UNDERLINE highlight. -- cgit