1185 Commits

Author SHA1 Message Date
Kovid Goyal ba46678a0d Fix width test kitten descriptive text being erased 2025-04-12 15:20:07 +05:30
Kovid Goyal 357481900d Add combining at line end test 2025-04-11 13:16:45 +05:30
Kovid Goyal ed719d91ec ... 2025-04-11 12:24:46 +05:30
Kovid Goyal cd4490b5ad Test cursor position after individual graphemes 2025-04-11 12:21:40 +05:30
Kovid Goyal 66a2702631 ... 2025-04-11 12:08:42 +05:30
Kovid Goyal dbc88d8a3a Document test description format 2025-04-11 12:03:06 +05:30
Kovid Goyal 342ac57e63 Allow restricting the tests run 2025-04-11 11:40:23 +05:30
Kovid Goyal 3a4d32b85b Get basic full string width tests running 2025-04-11 10:45:39 +05:30
Kovid Goyal cf6bb29ef7 Start work on width testing kitten 2025-04-11 09:34:21 +05:30
Kovid Goyal 203e9f6c58 Port wcswidth to use grapheme segmentation 2025-04-11 09:34:21 +05:30
Kovid Goyal 38a2c6eab0 Cleanup previous PR 2025-04-05 09:22:10 +05:30
3pleX-dev 1d93982424 fix reproducibility issues 2025-04-05 01:27:23 +01:00
Kovid Goyal 4c28200cab Separate out the control chars when generating benchmark data 2025-04-03 09:33:55 +05:30
Kovid Goyal e0efdaa3f0 ... 2025-04-03 09:26:04 +05:30
Kovid Goyal 057dde35a7 Use a two stage lookup table for segmentation
Saves one extra array lookup at no cost in size
2025-04-01 14:25:24 +05:30
Kovid Goyal d4d2ae969e Use a branchless check for unicode range 2025-04-01 12:32:17 +05:30
Kovid Goyal 6ecd78d9db Remove bounds checking for unicode table access in Go 2025-04-01 10:41:17 +05:30
Kovid Goyal 66856e7b52 Use a multi-stage lookup table for grapheme segmentation 2025-03-31 21:51:28 +05:30
Kovid Goyal 163b3de85b Also forgot to add non-characters to invalid class 2025-03-30 10:44:26 +05:30
Kovid Goyal a5a25fbd8c Fix missed out some codepoints when porting is_non_rendered to unicode lookup table
Fixes #8495
2025-03-30 10:40:19 +05:30
Kovid Goyal 9e1601a9b5 Nicer way to include grapheme test data in Go tests 2025-03-27 03:20:27 +05:30
Kovid Goyal 7807e51e65 ... 2025-03-26 22:06:17 +05:30
Kovid Goyal 305c1a25c5 More robust fetching of grapheme break test data in Go test 2025-03-26 21:56:52 +05:30
Kovid Goyal fd2bbf57e3 Make unicode category data useable in other modules 2025-03-25 16:35:09 +05:30
Kovid Goyal 294de16898 Use ms table for remaining UCD lookups 2025-03-25 15:41:34 +05:30
Kovid Goyal aad58cf703 Declare CharProps just once 2025-03-25 14:08:47 +05:30
Kovid Goyal d429f732e1 DRYer 2025-03-25 13:45:56 +05:30
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 f02245af79 Also run gofmt on kittens subdir in CI 2025-03-23 20:26:10 +05:30
Kovid Goyal c73f5ab8a0 ... 2025-03-23 19:37:23 +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 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 191ea16cd7 Confirm and run tool 2025-03-20 13:35:12 +05:30
Kovid Goyal d82edad2be ... 2025-03-20 12:50:51 +05:30
Kovid Goyal 0afa6d5b3d Fix shebang viewing of short scripts not working 2025-03-20 12:49:28 +05:30
Kovid Goyal f3448cbbee ... 2025-03-20 12:31:02 +05:30
Kovid Goyal ca1555d12e Avoid spinning up the python interpreter just for running a shebang 2025-03-20 11:36:59 +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 812fe467c9 Report OSC 6/106 as ignored only once 2025-03-09 19:02:19 +05:30