diff options
| author | infastin <infastin@yandex.com> | 2025-01-19 23:52:17 +0500 |
|---|---|---|
| committer | Randy Palamar <randy@rnpnr.xyz> | 2025-02-22 12:02:55 -0700 |
| commit | b7f4057919da1d249241eeb8b2f06371a031582f (patch) | |
| tree | 42547e8aeecf8489705f6e56cba9d98418f8c2e6 /view.c | |
| parent | 0208d7a9f553b77ab4dfd740e2318f32340b10ea (diff) | |
| download | vis-b7f4057919da1d249241eeb8b2f06371a031582f.tar.gz vis-b7f4057919da1d249241eeb8b2f06371a031582f.tar.xz | |
style_set: add option to keep non-default style values
Diffstat (limited to 'view.c')
| -rw-r--r-- | view.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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)); |
