Commit graph

16 commits

Author SHA1 Message Date
Daniel Eklöf
949847a35a
vt: add all (?) missing states, actions and transitions 2019-06-23 13:28:55 +02:00
Daniel Eklöf
15b29ecb49
vt: add missing entry action for ESCAPE 2019-06-22 22:27:20 +02:00
Daniel Eklöf
308bcb0233
vt: add missing transition from state ESCAPE -> CSI DISPATCH 2019-06-22 22:26:57 +02:00
Daniel Eklöf
a50be28b9d
grid: implement DAMAGE_SCROLL 2019-06-21 14:29:15 +02:00
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