From b7f4057919da1d249241eeb8b2f06371a031582f Mon Sep 17 00:00:00 2001 From: infastin Date: Sun, 19 Jan 2025 23:52:17 +0500 Subject: style_set: add option to keep non-default style values --- view.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'view.c') diff --git a/view.c b/view.c index 49f7fc6..28f33e9 100644 --- a/view.c +++ b/view.c @@ -205,7 +205,7 @@ static void view_clear(View *view) { /* FIXME: awful garbage that only exists because every * struct in this program is an interdependent hellscape */ Win *win = (Win *)((char *)view - offsetof(Win, view)); - ui_window_style_set(&win->vis->ui, win->id, &cell_blank, UI_STYLE_DEFAULT); + ui_window_style_set(&win->vis->ui, win->id, &cell_blank, UI_STYLE_DEFAULT, false); } static int view_max_text_width(const View *view) { @@ -1335,7 +1335,7 @@ void view_selections_normalize(View *view) { view_selections_set(prev, &range_prev); } -void win_style(Win *win, enum UiStyle style, size_t start, size_t end) { +void win_style(Win *win, enum UiStyle style, size_t start, size_t end, bool keep_non_default) { View *view = &win->view; if (end < view->start || start > view->end) return; @@ -1365,7 +1365,7 @@ void win_style(Win *win, enum UiStyle style, size_t start, size_t end) { do { while (pos <= end && col < width) { pos += line->cells[col].len; - ui_window_style_set(&win->vis->ui, win->id, &line->cells[col++], style); + ui_window_style_set(&win->vis->ui, win->id, &line->cells[col++], style, keep_non_default); } col = 0; } while (pos <= end && (line = line->next)); -- cgit v1.2.3