111 Commits

Author SHA1 Message Date
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
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