Kovid Goyal
c03dd673ae
Restore fast path for printable ASCII
2025-04-11 09:34:21 +05:30
Kovid Goyal
c01a941fe7
Get the unicode grapheme seg tests passing on screen, with minimal modification
...
We ignore tests including ACII control codes and we modify the results
when there are grapheme breaks before zero width characters.
2025-04-11 09:34:21 +05:30
Kovid Goyal
4c2bd8ffb1
Implement zero width roundtripped chars in multicell segmentation as well
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
Kovid Goyal
d1938cb060
Fix failing test
2025-04-08 13:07:59 +05:30
Kovid Goyal
adc9b3f6cf
When issuing a DECRPSS report for SGR use a leading 0
...
This matches historical DEC terminal behavior.
2025-04-08 09:15:31 +05:30
Kovid Goyal
b0371d970f
Micro optimization
2025-04-03 17:23:43 +05:30
Kovid Goyal
251ec3419b
When in alternate screen and using margins, index selections more intelligently, gives slightly nicer behavior with multiplexer horizontal panes.
2025-04-03 17:22:25 +05:30
Kovid Goyal
72a1aabafd
Fix hover underline remaining on screen when screen is scrolled
2025-03-31 10:47:25 +05:30
Kovid Goyal
c0f5170fc3
Fix ranged_line_is_continued depending on scrolled_by
2025-03-30 20:27:11 +05:30
Arvin Verain
6d75f7cff4
test: Add method to easily set last_visited attributes
2025-03-28 22:38:19 +08:00
Arvin Verain
59f134d511
fix: Edge case when paging from a line within output
...
When OUTPUT_START is already past scrollback and can't be
found upwards, properly handle the first prompt encountered
to capture the correct command output to be paged.
2025-03-28 22:38:16 +08:00
Arvin Verain
80d7da0902
fix: Edge case when paging from a line within prompt
...
When PROMPT_START is already past scrollback and can't be
found upwards, set the proper values depending on if the
search is over or deferred downwards.
2025-03-28 22:38:08 +08:00
Kovid Goyal
294de16898
Use ms table for remaining UCD lookups
2025-03-25 15:41:34 +05:30
Kovid Goyal
9f7643078c
Use unicode multi-table for remaining hot path lookups
...
Results in a 15% improvement in the unicode throughput benchmark
2025-03-24 15:04:33 +05:30
Kovid Goyal
3d0e45ace8
Use the new multi-stage unicode table for wcwidth
2025-03-24 14:20:40 +05:30
Kovid Goyal
fd8172c04d
Fix a regression in the previous release that caused empty lines to be skipped when copying text from a selection
...
Fixes #8435
2025-03-12 16:47:13 +05:30
Kovid Goyal
e84a8fd7e9
Do fine grained clearing of URL ranges
...
This matches what is done for selections. This is a very slight
performance hit (one extra easily predicted branch)
since most of the time url ranges is empty.
Fixes #8414
2025-03-09 18:45:52 +05:30
Kovid Goyal
a5d4ca3735
Micro-optimization: in paused rendering selections are never changed
2025-03-09 18:22:45 +05:30
Kovid Goyal
15f711d6b5
Start work on horizontal align for multicells
2025-02-19 07:50:40 +05:30
Kovid Goyal
bedc2ea1b9
Reduce num of bits used for x/y multicell
2025-02-19 05:53:07 +05:30
Arvin Verain
ccffbd23ce
fix: First on screen paging fix when prompt is obscured in scrollback
2025-02-19 00:30:03 +08:00
Arvin Verain
e23d6877c0
fix: Page cmd outputs properly regardless of amount of prompt lines
...
Also skip fetching lines of wrapped prompts
2025-02-19 00:30:03 +08:00
Kovid Goyal
c520b0b1b9
Add test for PR #8322
2025-02-18 10:08:41 +05:30
Kovid Goyal
a7f76ee8f7
Fix #8339
2025-02-17 19:56:39 +05:30
Kovid Goyal
b4b2b44c92
Multicell selections: Clamp to line
...
When the end point of the selection is within a multicell character of
the same size and vertical position as the start point, clamp the
selection line to the start line to avoid un-intuitive multiline
selections.
Fixes #8310
2025-02-15 13:11:46 +05:30
Kovid Goyal
888b8a3bfb
Use same algorithm for multicell selection expansion and text extraction
2025-02-15 10:43:32 +05:30
Kovid Goyal
1c00ae80e6
Limit max number of combining chars per cell
2025-02-12 09:03:48 +05:30
Kovid Goyal
47a025752a
Nuke multicell chars at the prompt when rewrpping it to prevent corrupted multicell chars
2025-02-10 20:53:33 +05:30
Kovid Goyal
04f28e4b7a
...
2025-02-08 14:04:47 +05:30
Kovid Goyal
3f54b83991
Remove unnecessary branch
2025-02-08 13:51:09 +05:30
Kovid Goyal
f412ec617c
Track line continuation in only one place
...
The canonical flag tracking this is the last cell of the previous line.
So use that only rather than copying it onto a line attribute. Should
micro-optimize cases where we init a line but dont need the continuation
status.
2025-02-08 08:58:50 +05:30
Kovid Goyal
c3ed945a93
Another micro optimization
2025-02-07 21:04:00 +05:30
Kovid Goyal
92e2b93e95
Start work on VT implementation in Go
...
Will be used by pager kitten
2025-02-06 12:31:32 +05:30
Kovid Goyal
4b38818dca
Make CodeQL happy
2025-02-06 10:13:48 +05:30
Kovid Goyal
f1452a80dd
More work on text sizing docs
2025-02-03 10:56:51 +05:30
Kovid Goyal
8bf8f5dc46
Finish up testing for multicell URL detection
2025-02-03 10:56:50 +05:30
Kovid Goyal
c3db7c9464
...
2025-02-03 10:56:50 +05:30
Kovid Goyal
6a19918687
More work on multicell URL detection
2025-02-03 10:56:50 +05:30
Kovid Goyal
0bf32c6a59
More work on multicell URL detection
2025-02-03 10:56:50 +05:30
Kovid Goyal
f599144913
Fix multicell marking of hyperlinks
2025-02-03 10:56:50 +05:30
Kovid Goyal
ac1aaab077
More work of selections as text
2025-02-03 10:56:50 +05:30
Kovid Goyal
8156a7520f
Start work on multicell support for selection_as_text
2025-02-03 10:56:49 +05:30
Kovid Goyal
ac32f91a2e
Implement rendering of selections that intersect multicell cells
2025-02-03 10:56:49 +05:30
Kovid Goyal
561686c9d4
Refactor rewrap code, again
...
Now we do the rewrap of history and line buffers together. This is
faster and deals with multiline chars split between the two buffers
correctly. Also, considerably simpler code.
2025-02-03 10:56:49 +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
8daec0f1ff
DRYer
2025-02-03 10:56:48 +05:30
Kovid Goyal
5b0e1b5b5c
Fix wrap marker when continuing to a new line with a multicell command
2025-02-03 10:56:48 +05:30
Kovid Goyal
f67c58034c
Add tests for ch_and_idx
2025-02-03 10:56:47 +05:30
Kovid Goyal
3f04b31725
Fix build on older compiler
2025-02-03 10:56:46 +05:30