Commit Graph

126 Commits

Author SHA1 Message Date
Kovid Goyal
b66a763ddf Use a 3 stage table for Unicode properties
Halves the data size and reduces source code size by 50x
Shows no significant runtime performance effect.
Allows for easily adding more properties to the table in the future
2025-03-25 13:16:59 +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
7697a1650d Add is_emoji_presentation_base to char props table 2025-03-24 13:55:49 +05:30
Kovid Goyal
16f7380cb0 Implement grapheme segmentation in Go 2025-03-23 19:24:12 +05:30
Kovid Goyal
aa8c32006f Implement grapheme seg algo in Go 2025-03-22 14:54:58 +05:30
Kovid Goyal
7e780a2294 CharProps data for Go 2025-03-22 13:18:09 +05:30
Kovid Goyal
097c16b895 Nicer bitfield names 2025-03-22 12:39:41 +05:30
Kovid Goyal
4c31cb179e Make go bitfield generation code re-useable 2025-03-22 12:05:56 +05:30
Kovid Goyal
9663f935fb ... 2025-03-22 11:56:56 +05:30
Kovid Goyal
583a858769 Use a multistage lookup table for grapheme segmentation 2025-03-22 11:50:04 +05:30
Kovid Goyal
0d866b1f13 Add tests for grapheme segmentation
Test data provided by Unicode organisation
2025-03-13 13:48:35 +05:30
Kovid Goyal
9c1c141775 Start work on grapheme segmentation algorithm 2025-03-13 11:19:54 +05:30
Kovid Goyal
98f9a568ce Add Extended_Pictographic property 2025-03-13 10:01:41 +05:30
Kovid Goyal
039af78785 Add Indic Conjunct Break data 2025-03-13 09:18:42 +05:30
Kovid Goyal
1ee0b3369d Fix GBP generation 2025-03-13 08:37:52 +05:30
Kovid Goyal
9cb56c2775 Run gofmt on grapheme-segmentation-data 2025-03-13 07:11:21 +05:30
Kovid Goyal
dc625c5e0c Add grapheme break properties when generating wcwidth data 2025-03-13 07:06:46 +05:30
Kovid Goyal
2a714928db When dragging in rectangle select mode use a crosshair mouse cursor 2025-02-23 10:32:54 +05:30
Kovid Goyal
15f711d6b5 Start work on horizontal align for multicells 2025-02-19 07:50:40 +05:30
Kovid Goyal
61edc2aef7 Dont treat multicells containing narrow emoji as having emoji presentation
Fixes #8330
2025-02-14 20:37:31 +05:30
Kovid Goyal
fb54f1527f Update type signatures generated by gen/config.py 2025-02-11 22:22:57 +05:30
Kovid Goyal
c7fb942c4c Fix a regression in the previous release that broke setting of nullable colors 2025-02-11 22:07:42 +05:30
Kovid Goyal
b0c41a70bd Start work on VT LineBuf in Go 2025-02-07 20:09:00 +05:30
Kovid Goyal
2f57d20153 Add hyperlink id to CellAttrs 2025-02-06 20:35:50 +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
5c2c88858b Implement reporting of multicell commands 2025-02-03 10:56:45 +05:30
Kovid Goyal
8030cbd361 Allow more subscales 2025-02-03 10:56:44 +05:30
Kovid Goyal
b1c80d212f Allow non-width multicell code to fill multiple cells using native width algo 2025-02-03 10:56:44 +05:30
Kovid Goyal
383e1f8f57 Work on scaled rendering for box drawing chars 2025-02-03 10:56:43 +05:30
Kovid Goyal
5e861ea5ac Start work on testing multicell commands 2025-02-03 10:56:43 +05:30
Kovid Goyal
540e030f96 Start work on handling multicell escape code 2025-02-03 10:56:43 +05:30
roshal
855fd0241c update 2025-01-03 05:59:42 +03:00
Kovid Goyal
35b3ae8edb Revert "themes kitten: When using the Default theme as an auto switch theme include all the actual settings values"
This reverts commit 2abc0be844.
2024-12-20 12:54:47 +05:30
Kovid Goyal
2abc0be844 themes kitten: When using the Default theme as an auto switch theme include all the actual settings values
Fixes #8124
2024-12-16 15:32:32 +05:30
Kovid Goyal
96c1a5c4d1 Get automatic theme switching working 2024-11-07 17:31:44 +05:30
Kovid Goyal
1481fb4fe9 Dont generate mark mapping 2024-11-04 09:10:07 +05:30
Kovid Goyal
8b7cd98a0e When running a kitten that modifies the kitty config file if no config file exists create a commented out default config file and then modify it
Fixes #7991
2024-10-28 14:01:42 +05:30
Kovid Goyal
75d0dcab8d Nicer fix for non-zero fields in rc protocol 2024-08-05 11:18:41 +05:30
Kovid Goyal
2b3f2258ff More pyugrade to 3.9 2024-08-05 11:00:51 +05:30
Kovid Goyal
a19ce66e62 Automate finding of kittens that need Go CLIs generated 2024-07-28 21:07:28 +05:30
Kovid Goyal
5c1af0fcb1 Start work on the notify kitten 2024-07-28 20:41:01 +05:30
Kovid Goyal
0cf9a79760 A new option second_transparent_bg
Makes a second background color semi-transparent via background_opacity.
Useful for things like cursor line highlight in editors.

Fixes #7646
2024-07-21 20:22:31 +05:30
Kovid Goyal
15dd95d420 kitten @ resize-window: Fix --increment=0 treated as --increment=2 2024-07-15 22:32:29 +05:30
Kovid Goyal
2be91d73dd Move the query_terminal implementation to Go 2024-06-24 07:54:14 +05:30
Kovid Goyal
51472e1e88 Infrastructure for simple internal hyperlink handling 2024-06-24 07:54:13 +05:30
Kovid Goyal
c1af14c22a Fix @ send-key not working to send keys to self over TTY 2024-03-05 13:09:07 +05:30
Kovid Goyal
c19488f3be Graphics protocol: Add a new delete mode for deleting images whose ids fall within a range
Useful for bulk deletion. See #7080
2024-02-25 09:57:44 +05:30
Kovid Goyal
4e6138d785 Generate SIMD code during build 2024-02-25 09:57:39 +05:30
Kovid Goyal
293ad34535 Get rid of utoi() 2024-02-25 09:57:31 +05:30