38 Commits

Author SHA1 Message Date
Kovid Goyal
fc7ec1d3f7
Get rid of the option to use the system wcwidth
The system wcwidth() is often wrong. Not to mention that if you SSH into
a different machine, then you have a potentially different wcwidth. The
only sane way to deal with this is to use the unicode standard.
2018-02-04 21:02:30 +05:30
Kovid Goyal
2ee9844c2b
Track cursor position explicitly during rewrap
Instead of using heuristics to position the cursor after a resize, track
the position during re-wrapping and place the cursor at the re-wrapped
position. Fixes #242 (I hope)
2018-02-02 13:06:18 +05:30
Kovid Goyal
9b0ffdbf5a
A spot of refactoring 2018-02-02 11:19:42 +05:30
Kovid Goyal
73fe3293be
Fix copying from selection being restricted to only the visible part of the selection. Fixes #287 2018-01-17 21:39:24 +05:30
Kovid Goyal
898395253b
Add test for ignored color id in SGR colon based color sequence 2017-12-12 18:50:37 +05:30
Kovid Goyal
2b87e1f601
Fix #170 2017-11-13 19:47:54 +05:30
Kovid Goyal
6c838bbc28
Implement dirty line tracking 2017-11-09 16:55:45 +05:30
Kovid Goyal
5b24d51fcd
Fix failing screen resize test
Take into account the index that now happens to ensure that
the cursor is on a new line.
2017-09-30 13:51:35 +05:30
Kovid Goyal
3ca45ab241
Fix cursor moving one line up when resizing 2017-09-20 10:59:31 +05:30
Kovid Goyal
bc97cfa024
Use a null to represent a blank rather than a space
This has performance benefits when clearing (can use a single
memset). Also allows detecting trailing whitespace on lines correctly.
2017-09-15 10:45:16 +05:30
Kovid Goyal
029ff84f09
Remove the change tracker related tests
The change tracker no longer exists
2017-09-15 10:45:16 +05:30
Kovid Goyal
9c501b37ea Allow skipping of tests that depend on a modern wcwidth() via an env var 2017-01-10 13:52:15 +05:30
Kovid Goyal
af8d44ecab Refactor screen mode API to use get/setters 2017-01-04 10:24:00 +05:30
Kovid Goyal
0797f159ad Only move the cursor a line down on resize if the cursor line was split 2016-12-12 12:44:33 +05:30
Kovid Goyal
271e3360ff Fix top lines appearing at bottom when resizing a screen that seen more lines than the number of lines available 2016-12-12 10:58:18 +05:30
Kovid Goyal
b343625b9f Add a simple test for SGR 2016-11-30 21:16:04 +05:30
Kovid Goyal
a095fffc67 Finish up the margins test 2016-11-30 15:12:00 +05:30
Kovid Goyal
95d3f20832 Do not ignore CUP when y is out of margins, instead clamp to margins 2016-11-30 14:58:34 +05:30
Kovid Goyal
f0b1af964b Fix clearing of tab stops 2016-11-30 10:21:37 +05:30
Kovid Goyal
91f80a3c85 Switch screen tests to use unicode directly 2016-11-23 20:26:29 +05:30
Kovid Goyal
5681138243 Fix scrollback_lines opt not being used 2016-11-21 09:07:52 +05:30
Kovid Goyal
a734fb79e6 All screen tests pass with the new screen code 2016-11-13 22:23:28 +05:30
Kovid Goyal
bfaaf41a9f ... 2016-11-13 17:01:45 +05:30
Kovid Goyal
604c4e599c ... 2016-11-13 16:52:59 +05:30
Kovid Goyal
fa106c2585 More work on migrating Screen 2016-11-13 16:51:14 +05:30
Kovid Goyal
9a7b4263e0 More work on the screen replacement
The first set of tests now pass
2016-11-13 14:10:57 +05:30
Kovid Goyal
9b544f83e0 Move change tracking into the screen class 2016-11-11 18:35:26 +05:30
Kovid Goyal
9069c08016 ... 2016-11-10 12:55:36 +05:30
Kovid Goyal
bbb13a3172 Tests for Screen.index() 2016-11-10 12:54:38 +05:30
Kovid Goyal
0a69f00ab4 Re-enable all screen tests 2016-11-08 09:53:51 +05:30
Kovid Goyal
8324ec1c2b Start work on using the new LineBuf class 2016-11-04 14:44:46 +05:30
Kovid Goyal
5bd728fe2f ... 2016-10-21 00:05:50 +05:30
Kovid Goyal
d95383fa43 Dont mark cells the cursor leaves as dirty 2016-10-20 05:29:32 +05:30
Kovid Goyal
b354e95401 Implement cursor movement APIs 2016-10-19 20:15:07 +05:30
Kovid Goyal
fea7c2dcb0 Implement erase_in_screen() 2016-10-19 13:49:27 +05:30
Kovid Goyal
56bff2f4a7 Implement character manipulation APIs 2016-10-19 11:25:55 +05:30
Kovid Goyal
3ae0e4e5ac Add support for unicode combining chars and wide chars 2016-10-18 20:30:18 +05:30
Kovid Goyal
355bfce189 Implement the fast draw path for single width characters 2016-10-18 11:04:30 +05:30