Kovid Goyal
fdaf857885
Add more tests for pagerhist
2020-09-22 09:05:40 +05:30
Kovid Goyal
b5007ba276
Store pager history in UTF-8
...
Reduces storage requirement by a fator of 4 at the cost of some CPU
usage, to encode to UTF-8
2020-09-21 12:29:10 +05:30
Kovid Goyal
bf19d2b156
Add some tests for the pagerhist code
2020-09-21 09:08:46 +05:30
Kovid Goyal
a78515e5bf
Remove the max size limit for line_as_ansi
...
Needed for output of hyperlinks, also more efficient, since avoids
malloc per line. Also fix pagerhist not having SGR reset at the start of
every line.
2020-09-20 11:26:59 +05:30
Kovid Goyal
9293d9b0ed
Add some tests for hyperlink marking
2020-09-10 10:47:28 +05:30
Kovid Goyal
c8e2061e2a
Move hyperlink to end of hash table when re-referenced
2020-09-10 10:47:27 +05:30
Kovid Goyal
78dc93721d
Add tests for hyperlink storage
2020-09-10 10:47:27 +05:30
Kovid Goyal
c9252e8639
When erasing in display upto cursor, the line containing the cursor should be marked as not continued.
...
Also add some tests for the action of ED on continued flags
2020-06-29 14:29:03 +05:30
Kovid Goyal
5e48ae8bac
pep8
2020-05-12 22:54:08 +05:30
Kovid Goyal
b4d08044a0
...
2020-04-12 17:01:39 +05:30
Kovid Goyal
d1a5d30233
Add another test for marking
2020-04-12 16:54:38 +05:30
Kovid Goyal
082546a1e7
Marks: Fix marks not handling wide characters and tab characters correctly
...
Fixes #2534
2020-04-12 13:28:21 +05:30
Kovid Goyal
6b1ea326a0
Initial implementation of half cell based selection
2020-02-25 20:03:14 +05:30
Kovid Goyal
4512d0dbac
Update test for changes to ANSI serialization
2020-02-25 19:23:05 +05:30
Kovid Goyal
6f1fda0a48
Store cell half information in selection objects
2020-02-18 17:45:07 +05:30
Kovid Goyal
936f2186cc
Allow scrolling to marks
2020-01-15 07:11:34 +05:30
Kovid Goyal
35fb702833
Use only a single marker function
...
Multipe colors/expressions can instead be combined at definition time
2020-01-13 11:57:19 +05:30
Kovid Goyal
51c4737a29
Test function marking
2020-01-13 06:50:37 +05:30
Kovid Goyal
d63ea11cac
Marking now works
2020-01-13 06:50:37 +05:30
Kovid Goyal
32dfc94909
Implement a hack to (mostly) preserve tabs when cat a file with them and then copying the text or passing screen contents to another program
...
It's a simple enough hack that it seems worth doing. If it causes any
issues, can always be reverted.
Fixes #1829
2019-08-31 12:37:05 +05:30
Luflosi
a792c94ccf
Use python3 shebang for all python scripts
...
Fixes #1624 .
Use python3 shebang for all python scripts as python still defaults to python2 on many systems.
2019-05-20 14:44:24 +02:00
Kovid Goyal
529337e00a
Ensure cursor is correctly positioned after emoji presentation char + VS15
...
cursor should be on the cell immediately after the the char since the
variation selector makes the char one cell wide.
2019-05-13 20:18:41 +05:30
Dominique Martinet
c421d3bb59
line_as_ansi: don't reset SGR at start of line
...
less does not carry the mode over from the previous line anyway, let's
save a few bytes for every line
2018-09-22 19:10:09 +09:00
Kovid Goyal
a08b945124
Forgot to revert test
2018-09-09 14:02:46 +05:30
Kovid Goyal
7f0674ac27
Fix backspacing of wide characters in wide-character unaware programs not working
...
Fixes #875
2018-09-07 10:08:25 +05:30
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