Kovid Goyal
094ddd9333
Round-trip the zwj unicode character
...
Rendering of sequences containing zwj is still not implemented, since it
can cause the collapse of an unbounded number of characters into a
single cell. However, kitty at least preserves the zwj by storing it as
a combining character.
2018-08-04 18:29:45 +05:30
Kovid Goyal
000c1cf306
Implement support for emoji skin tone modifiers
...
Fixes #787
2018-08-04 10:06:25 +05:30
Kovid Goyal
7a7262923b
Fix a regression in 0.10 that caused incorrect rendering of the status bar in irssi when used inside screen.
...
Fixes #621 . The cursor in margin check was incorrect causing upwards
movement of the cursor when below the bottom margin to be incorrect.
2018-06-11 10:13:21 +05:30
Kovid Goyal
ba9af3df8c
Fix moving cursor outside a defined page area incorrectly causing the cursor to be placed inside the page area. Caused incorrect rendering in neovim, which relies on this behavior.
...
Fixes #542
2018-05-19 08:04:37 +05:30
Kovid Goyal
1fe936dbbc
Fix off by one when restoring cursor position after resize. Fixes #344
2018-02-25 09:15:48 +05:30
Kovid Goyal
0bda7b3679
When running kittens respect current screen scroll
2018-02-14 18:35:32 +05:30
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