aboutsummaryrefslogtreecommitdiff
path: root/view.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2015-07-06 21:59:57 +0200
committerMarc André Tanner <mat@brain-dump.org>2015-07-06 21:59:57 +0200
commitcee423bb3f8678f39a94e33b8b2d6e413b59a80d (patch)
tree95ec181b0e327445b9b0384058aadbea5ce8ed9c /view.c
parent22d843e6719c025bf6d711bfdd3644e442ee8966 (diff)
downloadvis-cee423bb3f8678f39a94e33b8b2d6e413b59a80d.tar.gz
vis-cee423bb3f8678f39a94e33b8b2d6e413b59a80d.tar.xz
Make selection contiguous over whitespace symbols
Diffstat (limited to 'view.c')
-rw-r--r--view.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/view.c b/view.c
index 3a131f0..e7a8312 100644
--- a/view.c
+++ b/view.c
@@ -167,7 +167,7 @@ static bool view_addch(View *view, Cell *cell) {
int t = w == 0 ? SYNTAX_SYMBOL_TAB : SYNTAX_SYMBOL_TAB_FILL;
strncpy(cell->data, view->symbols[t]->symbol, sizeof(cell->data));
if (view->symbols[t]->color)
- cell->attr = view->symbols[t]->color->attr;
+ cell->attr = view->symbols[t]->color->attr | (cell->attr & A_REVERSE);
view->line->cells[view->col] = *cell;
view->line->len += cell->len;
view->line->width += cell->width;
@@ -215,7 +215,8 @@ static bool view_addch(View *view, Cell *cell) {
if (cell->data[0] == ' ') {
strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_SPACE]->symbol, sizeof(cell->data));
if (view->symbols[SYNTAX_SYMBOL_SPACE]->color)
- cell->attr = view->symbols[SYNTAX_SYMBOL_SPACE]->color->attr;
+ cell->attr = view->symbols[SYNTAX_SYMBOL_SPACE]->color->attr | (cell->attr & A_REVERSE);
+
}
if (view->col + cell->width > view->width) {