summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Prerelease touchupv0.16.0-rc1no-allocationGravatar Sam Atman3 days4-13/+7
|
* Fix stage names in codegen/gencatGravatar Sam Atman6 days1-2/+2
|
* Allocation-free README examplesGravatar Sam Atman10 days2-180/+157
|
* zg module, casing improvementsGravatar Sam Atman10 days7-33/+215
|
* Slightly better hash reduction for comptime_mapGravatar Sam Atman10 days1-3/+21
| | | | | This reduces collisions by 11% while adding no branching, so I'm calling it a win.
* The NEWSGravatar Sam Atman11 days1-1/+83
|
* De-allocate Emoji moduleGravatar Sam Atman11 days3-113/+86
|
* Merge remote-tracking branch 'jacob/emoji' into no-allocationGravatar Sam Atman11 days4-0/+333
|\ | | | | | | Thanks again, Jacob!
| * Merge branch 'master' into emojiGravatar Jacob Sandlund2025-07-2129-78717/+2329
| |\
| * | fix infinityGravatar Jacob Sandlund2025-06-241-1/+1
| | |
| * | Add Emoji module and codegen/emojiGravatar Jacob Sandlund2025-06-244-0/+333
| | |
* | | Delete upper and lower.zigGravatar Sam Atman11 days2-112/+0
| | |
* | | Base units do not allocateGravatar Sam Atman11 days4-166/+85
| | | | | | | | | | | | | | | | | | | | | | | | CanonData included. I may still sort out caseless matching without allocation, but that's a stretch goal. Closes #86 Closes #85
* | | Teasing out canonicalizationGravatar Sam Atman12 days4-69/+214
| | | | | | | | | | | | | | | | | | | | | | | | After coping with a spuriously broken autohash for awhile, I got the one remaining hash table moved into memory, so there's no further reason to put up with allocation of basic structures. So that's nice.
* | | Rest of the 'easy' stuffGravatar Sam Atman12 days11-475/+430
| | | | | | | | | | | | | | | | | | | | | | | | This gets us up to feature parity with Jacob's work. I want to eliminate that last allocation using the comptime hash map, and then see about eliminating allocations from case comparisons as well. That should just about do it.
* | | Normalization and case foldingGravatar Sam Atman12 days13-445/+571
| | | | | | | | | | | | Both of which deserve some further attention.
* | | Convert Words module to no-allocationGravatar Sam Atman12 days4-151/+105
| | |
* | | Port DisplayWidthGravatar Sam Atman12 days2-184/+106
| | |
* | | Convert Graphemes to static allocationGravatar Sam Atman12 days5-117/+117
| | | | | | | | | | | | | | | | | | | | | And DisplayWidth, although untested at present. The plan is to just work through the codegen / module pairings, and move tests over until everything is covered.
* | | Merge pull request 'Move part of the `DisplayWidth.strWidth` into its own ↵HEADmasterGravatar atman13 days1-25/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | `DisplayWidth.graphemeClusterWidth` function' (#81) from lch361/zg:graphemeClusterWidth into master Reviewed-on: https://codeberg.org/atman/zg/pulls/81
| * \ \ Merge branch 'master' of https://codeberg.org/atman/zg into graphemeClusterWidthGravatar Lich2026-01-1335-556/+557
| |\ \ \ | |/ / / |/| | |
* | | | Merge pull request 'Use width 2 when skin tone modifier detected' (#96) from ↵v0.15.4Gravatar atman2025-12-243-2/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | wide-diverse-emoji into master Reviewed-on: https://codeberg.org/atman/zg/pulls/96
| * | | | Use width 2 when skin tone modifier detectedGravatar Sam Atman2025-12-233-2/+7
|/ / / / | | | | | | | | | | | | Fix: #82
* | | | Fix #74: Check for characters before popping in wrapv0.15.3Gravatar Sam Atman2025-12-231-2/+16
| | | |
* | | | Bump version refsv0.15.2Gravatar Sam Atman2025-12-232-4/+4
| | | |
* | | | Merge branch 'fifteen-two'Gravatar Sam Atman2025-12-2334-552/+534
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Close #90 Close #87 Close #83 Thanks everyone.
| * | | Use takeDelimiterInclusive to support Zig 0.15.2Gravatar Jay2025-11-0818-22/+44
| | | |
| * | | Embed data files in scripts rather than relying on filesystem access for ↵Gravatar Michael Chaten2025-09-1419-147/+78
| | | | | | | | | | | | | | | | easier packaging
| * | | Update codebase to Zig 0.15.1.Gravatar Michael Chaten2025-09-1433-374/+399
| | | | | | | | | | | | | | | | Removes compression support
| * | | Update build to 0.15.0Gravatar Michael Chaten2025-09-131-86/+90
|/ / /
| * / Moved part of the `strWidth` into its own `graphemeClusterWidth` functionGravatar Lich2025-07-201-23/+27
|/ /
* | Merge branch 'develop-next'v0.14.1Gravatar Sam Atman2025-07-0829-78713/+2325
|\ \ | |/ |/|
| * Add Words.zig example to READMEGravatar Sam Atman2025-07-084-27/+257
| |
| * Add graphemeAtIndex + iterate before and afterGravatar Sam Atman2025-06-014-87/+266
| | | | | | | | | | | | That completes the set. I do think it's possible to bum a few more cycles from the implementation, but, I'm not going to. It passes the acceptance suite and that's what it needs to do.
| * Document "fat_offset" in READMEGravatar Sam Atman2025-05-232-2/+23
| |
| * Make offset size configurableGravatar Sam Atman2025-05-235-48/+66
| | | | | | | | | | Hopefully I can talk users out of taking advantage of this configuration but I'll have better luck with that if it's available.
| * Add iterateBefore and iterateAfterGravatar Sam Atman2025-05-233-33/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These create reverse or forward iterators before or after a Word. So this way, the user can get the word at an index, then iterate forward or back from that word. Also: Fixes #59 Which was fixed awhile back, but I don't feel like doing repo surgery to tag the fix where it happened. We have blame for that kind of thing.
| * Remove benchmarks, ziglyph referencesGravatar Sam Atman2025-05-1618-78501/+0
| | | | | | | | | | `ziglyph` is no longer maintained and basically abandoned, there's no need to keep the comparison between them active going forward.
| * Merge stranded README changes from v0.14 releaseGravatar Sam Atman2025-05-161-42/+42
| | | | | | | | Rebasing my way through that again was just not in the cards.
| * Words moduleGravatar Sam Atman2025-05-163-33/+33
| | | | | | | | | | | | In keeping with the new nomenclature, we're calling the module "Words", not "WordBreak". The latter is Unicode jargon, the module provides word iterators. Words are the figure, word breaks are the ground.
| * Move WordBreak to WordsGravatar Sam Atman2025-05-161-0/+0
| |
| * ProofreadGravatar Sam Atman2025-05-162-8/+9
| |
| * Merge Grapheme Segmentation Iterator TestsGravatar Sam Atman2025-05-151-79/+34
| |
| * Merge commit 'b5d955f' into develop-nextGravatar Sam Atman2025-05-153-3/+299
| |\
| | * Merge branch 'work-branch' into HEADGravatar Sam Atman2025-05-151-9/+46
| | |\
| | | * Various small iterator improvementswork-branchGravatar Sam Atman2025-05-131-9/+46
| | | |
| | * | feat: add reverse grapheme iteratorGravatar Matteo Romano2025-05-153-0/+296
| | | | | | | | | | | | | | | | Closes #53
| | * | fix: State.unset* did toggle the bit instead of unsetting itGravatar Matteo Romano2025-05-121-3/+3
| | |/
| | * Add reverse CodePoint iteratorGravatar Sam Atman2025-05-091-6/+75
| | |
| * | wordAtIndex passes conformanceGravatar Sam Atman2025-05-153-103/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | I removed the initAtIndex functions from the public vocabulary, because the last couple of days of sweat and blood prove that it's hard to use correctly. That's probably it for WordBreak, now to fix the overlong bug on v0.14 and get this integrated with the new reverse grapheme iterator.