Daniel Eklöf
304f15d696
Use a 'damage' list to communicate what needs to be updated
...
Instead of having each cell in the grid track it's own dirtiness, grid
operations now append "damage" to a list.
This list is consumed every time we render the grid.
This allows us to special case some operations, like erase (and in the
future, scroll).
2019-06-19 14:17:43 +02:00
Daniel Eklöf
96731814da
grid: erase: memset() the entire range in one call
2019-06-19 10:58:24 +02:00
Daniel Eklöf
efc8cc4914
wip: initial scrolling support (no scrollback though)
2019-06-19 10:27:31 +02:00
Daniel Eklöf
71dde121e6
wip: initial input handling
2019-06-19 10:04:47 +02:00
Daniel Eklöf
b8017a36de
vt: fix utf-8 bug: re-load 'current state' after processing a utf8 byte
2019-06-18 21:55:18 +02:00
Daniel Eklöf
a27868cd9f
vt: disable the worst spamming logging
2019-06-18 21:54:42 +02:00
Daniel Eklöf
50c43be0d9
grid: track both linear and row,col cursor
2019-06-17 21:15:20 +02:00
Daniel Eklöf
963b266cce
vt: handle cursor-at-right-edge
...
When printing to the right-most-cell, don't advance the
cursor. Instead, set a flag that indicates that the *next* print
should line-wrap.
2019-06-17 20:53:05 +02:00
Daniel Eklöf
4585df532c
wip: vt parsing: break out grid operating functions
2019-06-17 19:33:10 +02:00
Daniel Eklöf
6d5f5b9f7a
wip: vt parsing
2019-06-17 18:57:12 +02:00
Daniel Eklöf
c5b60253a7
vt: cell now tracks attributes (bold, italic, underline etc)
2019-06-16 16:44:42 +02:00
Daniel Eklöf
2a4c08b941
wip: vt parsing: initial csi/osc dispatching
2019-06-15 22:22:44 +02:00