Commit graph

166 commits

Author SHA1 Message Date
Kovid Goyal
b0439d4183
Function to erase the last command and its output 2025-08-07 08:45:45 +05:30
Kovid Goyal
f61b15b284
Fix incorrect handling of VS16 when it causes char to wrap to next line and is part of a draw command with more characters following it
Needed to initialize full text loop state rather than just segmentation
state on wrap. Fixes #8848
2025-07-26 09:25:01 +05:30
Kovid Goyal
45b2678db1
Allow backspace to wrap cursor to previous line
Fixes #8841
2025-07-23 08:56:54 +05:30
Kovid Goyal
d7c4d42f41
Fix #8794 2025-07-09 12:49:12 +05:30
Kovid Goyal
c681a999d5
Fix hyperlink id not being applied to wide cells
Fixes #8796
2025-07-09 12:14:09 +05:30
Kovid Goyal
eabddc2870
Report support for OSC52 write to clipboard in DA1
There are apparently some applications that want to only turn on OSC52
if they can be sure the terminal supports it.
https://github.com/contour-terminal/vt-extensions/blob/master/clipboard-extension.md

Seems harmless enough, though IMO the correct query mechanism for
runtime controllable settings is XTGETTCAP, but, let's be a
good citizen and co-operate. The overhead is not too large and I
have more important windmills to tilt at.

Fixes #8788
2025-07-07 08:45:58 +05:30
Kovid Goyal
bca017fa4c
Fix #8741 2025-06-20 20:11:23 +05:30
Kovid Goyal
8e55cf7552
Fix #8731 2025-06-14 20:19:21 +05:30
Kovid Goyal
61fd8c4003
Fix #8682 2025-05-27 12:10:14 +05:30
Kovid Goyal
2cad589f1c
Add tests for combining at screen edge 2025-04-11 09:34:21 +05:30
Kovid Goyal
f5e8de2e4f
Implement grapheme segmentation in the terminal layer 2025-04-11 09:34:21 +05:30
Arvin Verain
6d75f7cff4
test: Add method to easily set last_visited attributes 2025-03-28 22:38:19 +08:00
Arvin Verain
07f30122e6
test: Add more tests for cmd paging edge cases 2025-03-28 22:38:18 +08:00
Kovid Goyal
c4ef0a0eef
Add another test 2025-02-19 05:26:03 +05:30
Arvin Verain
a5cafdd8e9
test: Add more tests for scroll_to_prompt, fco, and lvco 2025-02-19 00:30:04 +08:00
Kovid Goyal
8f44e16b89
Fix scroll_to_prompt after resize that causes prompt line wrapping not accurate
See #8334
2025-02-18 19:40:23 +05:30
Kovid Goyal
c520b0b1b9
Add test for PR #8322 2025-02-18 10:08:41 +05:30
Kovid Goyal
2caa3fc069
... 2025-02-17 20:18:14 +05:30
Kovid Goyal
a7f76ee8f7
Fix #8339 2025-02-17 19:56:39 +05:30
Kovid Goyal
e7a40300d1
Fix crash when rendering a cell with a large number of combining chars
Caused by kitty now supporting larger number of combining chars per
cell. Fixes #8318
2025-02-12 08:23:46 +05:30
Kovid Goyal
8bf8f5dc46
Finish up testing for multicell URL detection 2025-02-03 10:56:50 +05:30
Kovid Goyal
97449dfddb
Cursor tracking tests
Also fix extra x movement for tracked cursors
2025-02-03 10:56:49 +05:30
Kovid Goyal
c4a32862d1
Implement restitch during rewrap
Faster, less code and gets us multicell handling during restitching for
free.
2025-02-03 10:56:49 +05:30
Kovid Goyal
33207a57ba
Add tests for consecutive conflicting variation selectors 2024-12-05 19:21:00 +05:30
Kovid Goyal
a4d2d933c9
Fix #8103 2024-12-05 19:19:15 +05:30
Kovid Goyal
8e388acab7
Add some cursor tracking tests 2024-11-27 20:33:56 +05:30
Kovid Goyal
778344a439
Fix enlarging window when a long line is wrapped between the first line of the scrollback buffer and the screen inserting a spurious newline
Fixes #7033
2024-11-27 20:08:27 +05:30
Kovid Goyal
97e4625a82
... 2024-11-12 09:29:17 +05:30
Kovid Goyal
6d5a2b8ecd
Add a test that exercises the text_cache in Line code path 2024-11-12 09:16:45 +05:30
Kovid Goyal
002d0a0403
Preserve trailing blank line on resize always
No sense in restricting it to just lines marked as output and only on
main screen.
2024-10-19 14:15:45 +05:30
Kovid Goyal
66251f8fd5
Add test for previous bugfix
main screen should have trailing output line preserved when resized on alt screen
2024-10-19 14:02:06 +05:30
Kovid Goyal
b66d9332f9
... 2024-10-19 10:51:18 +05:30
Kovid Goyal
c3130419a7
Implement dynamic control of transparent background colors via escape code
Still have to implement it via remote control
2024-09-24 19:02:13 +05:30
Kovid Goyal
deff40df8a
New OSC 21 protocol for color control
Needs to be specced up
2024-07-22 10:57:13 +05:30
Kovid Goyal
a4cdc1cdf3
Send current size when in band resize events requested even if mode is already on 2024-07-18 20:40:05 +05:30
Kovid Goyal
8d1eb75f9c
... 2024-07-18 20:34:57 +05:30
Kovid Goyal
06b5eff6e6
Add support for in-band window resize notifications
Fixes #7642
2024-07-18 20:32:33 +05:30
Kovid Goyal
2955c3f7a7
Move hyperlink hashmap to verstable
Also speedup getting url for hyperlink id by using a second hash map for
it. Change behavior when there are too many hyperlinks to discard new
hyperlinks instead of remapping old hyperlink id and making some old
hyperlink wrong.
2024-07-12 09:11:00 +05:30
Kovid Goyal
1a38b60463
URL detection: Fix IPv6 hostnames breaking URL detection
Fixes #7565
2024-06-21 05:53:21 +05:30
Kovid Goyal
a0aba4da4a
Fix handling of tab character when cursor is at end of line and wrapping is enabled
Fixes #7250
2024-03-23 08:43:06 +05:30
Kovid Goyal
f64739c29b
Fix regression that broke handling of single byte control chars when cursor is on second cell of wide character 2024-02-25 09:57:41 +05:30
Kovid Goyal
1f835b27c4
start work on implementing pending mode as paused rendering 2024-02-25 09:57:32 +05:30
Kovid Goyal
a9f5519d11
Add tests for writing with cursor on trailer of wide char 2024-02-25 09:57:30 +05:30
Kovid Goyal
8dca5a6b9a
... 2024-02-25 09:57:26 +05:30
Kovid Goyal
6205fb32fd
Refactor VT parser for more speed
No longer copy bytes into a separate buffer, instead parse them in place
in the read buffer
2024-02-25 09:57:23 +05:30
Kovid Goyal
f42b49e597
Avoid a double parse for pending mode 2024-02-25 09:57:23 +05:30
Kovid Goyal
52025ff030
misc parser and test fixes 2024-02-25 09:57:22 +05:30
Kovid Goyal
5168e0b576
Port parse_bytes() used in the tests 2024-02-25 09:57:22 +05:30
Kovid Goyal
8cc2cad4d9
Use list of legal chars in URL from the WHATWG standard
Notably this excludes some ASCII chars: <>{}[]`|
See https://url.spec.whatwg.org/#url-code-points

Fixes #7095
2024-02-05 13:27:22 +05:30
Kovid Goyal
77292a16d6
Make shebangs consistent
Follow PEP 0394 and use /usr/bin/env python so that the python in the
users venv is respected. Not that the kitty python files are meant to be
executed standalone anyway, but, whatever.

Fixes #6810
2023-11-11 08:32:05 +05:30