selection: reset ‘empty_count’ after we’ve emitted the empty cells

When marking and unmarking cells, we don’t highlight trailing empty
cells. We do however highlight empty cells if they are followed by
non-empty cells.

I think this was an intentional choice. If one row ended with trailing
empty cells, but *no* hard linebreak, then we’d continue on the next
row, and emit all the empty cells once we hit a non-emtpy cell on the
second row.

But this is something that shouldn’t happen in any real-world use
cases.
This commit is contained in:
Daniel Eklöf 2021-06-05 13:41:17 +02:00
parent dfbe8297f7
commit 0de55182ac
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -489,6 +489,7 @@ premark_selected(struct terminal *term, struct row *row, struct cell *cell,
for (int i = 0; i < ctx->empty_count + 1; i++)
row->cells[col - i].attrs.selected |= 2;
ctx->empty_count = 0;
return true;
}
@ -520,6 +521,7 @@ mark_selected(struct terminal *term, struct row *row, struct cell *cell,
}
}
ctx->empty_count = 0;
return true;
}