Commit Graph

15095 Commits

Author SHA1 Message Date
Kovid Goyal
9418f399c3 ... 2025-02-03 10:56:51 +05:30
Kovid Goyal
530e1ea1b3 Add section on detecting text sizing protocol 2025-02-03 10:56:51 +05:30
Kovid Goyal
3655db3124 ... 2025-02-03 10:56:51 +05:30
Kovid Goyal
3501e76238 Document how we solve the character width problem 2025-02-03 10:56:51 +05:30
Kovid Goyal
da234244a4 More docs on text sizing 2025-02-03 10:56:51 +05:30
Kovid Goyal
f1452a80dd More work on text sizing docs 2025-02-03 10:56:51 +05:30
Kovid Goyal
3b0b1df9c3 Use textFetch() for underline exclusion sampling
Fixes sampling from non-bottom row
2025-02-03 10:56:51 +05:30
Kovid Goyal
484155ca89 Start work on documenting text sizing protocol 2025-02-03 10:56:50 +05:30
Kovid Goyal
4e76a3d1c6 Ignore underline exclusion if max overlap is only half the thickness of the underline
This eliminates false positives for c and s with some fonts.
2025-02-03 10:56:50 +05:30
Kovid Goyal
8bf8f5dc46 Finish up testing for multicell URL detection 2025-02-03 10:56:50 +05:30
Kovid Goyal
64e3b641ce Get basic multicell URL detection working 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
cf89dba5af 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
756240f68d Remove unused code 2025-02-03 10:56:50 +05:30
Kovid Goyal
2423c2166e More tests for multicell selections 2025-02-03 10:56:50 +05:30
Kovid Goyal
da1626090a Update codebase to Python 3.10 using pyupgrade 2025-02-03 10:56:50 +05:30
Kovid Goyal
922d08516b ... 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
2a996418bf ... 2025-02-03 10:56:49 +05:30
Kovid Goyal
dc5037ff37 Add tests for multicell char split between history and line buffers 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
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
b3c39f4921 Finish up the redraw multicell tests 2025-02-03 10:56:49 +05:30
Kovid Goyal
001cc8009e More multicell rewrap tests 2025-02-03 10:56:49 +05:30
Kovid Goyal
decafb0d3f More multicell wrap tests 2025-02-03 10:56:49 +05:30
Kovid Goyal
cf5f6e97e8 Add some basic tests for multicell rewrap 2025-02-03 10:56:49 +05:30
Kovid Goyal
2e4bab6f49 More work on rewrapping multicells 2025-02-03 10:56:49 +05:30
Kovid Goyal
aa8bb46c42 Start work on rewrapping multicells 2025-02-03 10:56:49 +05:30
Kovid Goyal
dd7630514e Micro-optimization 2025-02-03 10:56:49 +05:30
Kovid Goyal
cf2fffaf95 Fix continuation char marking when rewrapping historybuf 2025-02-03 10:56:49 +05:30
Kovid Goyal
eb1adf4764 Decouple some API in historybuf so that we can access more than just the next line eventually 2025-02-03 10:56:48 +05:30
Kovid Goyal
8daec0f1ff DRYer 2025-02-03 10:56:48 +05:30
Kovid Goyal
b450e71b92 Move rewrap code into its own module
Makes it easier to modify in the future when adding multicell support
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
95fbc6e9ba Forgot a couple of octants 2025-02-03 10:56:48 +05:30
Kovid Goyal
39dc31e021 Render the octant characters using box drawing 2025-02-03 10:56:48 +05:30
Kovid Goyal
4a845f840d Scale multicell box char line thickness 2025-02-03 10:56:48 +05:30
Kovid Goyal
c67475271f Remove box drawing python code 2025-02-03 10:56:48 +05:30
Kovid Goyal
6a18db45f0 Finish porting of box drawing chars to C 2025-02-03 10:56:48 +05:30
Kovid Goyal
95e64a023f More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
9426ed0140 More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
a726e4af90 More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
7bd0b46a71 More box chars 2025-02-03 10:56:48 +05:30
Kovid Goyal
68167b9ddb More box chars 2025-02-03 10:56:48 +05:30