aboutsummaryrefslogtreecommitdiff
path: root/core/text
Commit message (Collapse)AuthorAgeFilesLines
* text/regex: Remove old docmentation and unneeded flagFeoramund2025-06-201-4/+0
| | | | | `Unsupported_Flag` was used back when the iterator did not handle `.Multiline`.
* Fix multiline RegEx iterationFeoramund2025-05-265-50/+59
| | | | | | | | | | In `.Multiline` mode: - `^` is now defined to assert the start of the string or that a "\n" or "\r" rune was parsed on last VM dispatch. - `$` is now defined to consume a newline sequence of "\n", "\r", or "\r\n" or to assert the end of the string.
* Merge pull request #5209 from Feoramund/regex-fixesJeroen van Rijn2025-05-244-20/+74
|\ | | | | Fix RegEx iterator, remove `.Global`, make patterns unanchored by default (breaking change)
| * Remove `Global` RegEx flag, default to unanchored patternsFeoramund2025-05-243-12/+9
| |
| * Make RegEx VM restartable and fix iterator infinite loopFeoramund2025-05-242-8/+65
| |
* | Typo fixJeroen van Rijn2025-05-231-1/+1
| |
* | Allow text/scanner to scan 0h hex floatsJeroen van Rijn2025-05-231-1/+3
|/
* Disallow .Multiline in iterator.Jeroen van Rijn2025-04-071-0/+8
|
* Remove now unused field.Jeroen van Rijn2025-04-071-1/+0
|
* Optimize regex match iterator.Jeroen van Rijn2025-04-072-17/+50
| | | | Reuse virtual machine and capture groups between matches.
* Return loop index in regex iterator.Jeroen van Rijn2025-04-061-2/+12
|
* {.Glboal} implicit in regex allocator.Jeroen van Rijn2025-04-061-0/+2
|
* Add iterator for `core:text/regex`.Jeroen van Rijn2025-04-061-5/+95
| | | | | | | | | | | | | | | Usage: ```odin haystack := `xxfoobarxfoobarxx` pattern := `f(o)ob(ar)` it := regex.create_iterator(haystack, pattern, {.Global}) or_return defer regex.destroy(it) for capture in regex.match(&it) { fmt.println(capture) } ```
* Fix captures not begin zeroed when haystack length is 0James Duran2025-01-151-6/+6
|
* Allow captures in gfind and gmatch to be used in-loopJames Duran2025-01-151-2/+10
|
* fix: regex's match_with_preallocated_capture returning num_groupsYcros2024-12-041-0/+1
|
* Update scanner.odinDoeke Wartena2024-11-071-1/+1
| | | remove duplicated wording in comment
* core: improve package doc comments for the documentation generatorLaytan Laats2024-09-032-24/+14
|
* Fix `-vet-tabs` issuesgingerBill2024-08-241-1/+1
|
* Merge pull request #3962 from Feoramund/regexgingerBill2024-08-2116-0/+3834
|\ | | | | Add `core:text/regex`
| * Review manual `for` loops in `core:text/regex`Feoramund2024-08-053-6/+8
| |
| * Add explicit license info to `core:text/regex`Feoramund2024-08-0411-0/+88
| |
| * Document rationale behind RegEx shorthand classesFeoramund2024-08-041-0/+18
| |
| * Add more documentation for `core:text/regex` APIFeoramund2024-08-041-0/+21
| |
| * Remove unused codeFeoramund2024-08-041-2/+0
| |
| * Move `Flag_To_Letter` to `core:text/regex/common`Feoramund2024-08-042-11/+11
| |
| * Hide `Regular_Expression` valuesFeoramund2024-08-041-2/+2
| | | | | | | | | | | | | | We don't directly support printing these. To prevent future issues being raised about the pattern being missing if someone tries to print one, hide everything.
| * Add missing features to `regex` package documentationFeoramund2024-08-041-2/+6
| |
| * Use `unaligned_store` in `regex` tooFeoramund2024-07-241-12/+15
| |
| * Use `unaligned_load` for `regex` virtual machineFeoramund2024-07-243-18/+21
| | | | | | | | | | This should hopefully avoid any issues with loading operands greater than 8 bits on alignment-sensitive platforms.
| * Remove printing facilities for `Regular_Expression`Feoramund2024-07-241-2/+0
| | | | | | | | | | | | | | | | | | The `original_pattern` introduced a tenuous dependency to the expression value as a whole, and after some consideration, I decided that it would be better for the developer to manage their own pattern strings. In the event you need to print the text representation of a pattern, it's usually better that you manage the memory of it as well.
| * Allow configuring of `MAX_CAPTURE_GROUPS` for `n` > 10Feoramund2024-07-241-1/+1
| |
| * Use `slice.zero` insteadFeoramund2024-07-241-3/+2
| |
| * Fix handling of unclosed `regex` classes and repetitionsFeoramund2024-07-241-2/+2
| |
| * Add `core:text/regex`Feoramund2024-07-2216-0/+3700
| |
* | text/edit: fix undo_state_push wrong builder checkLaytan Laats2024-08-071-1/+1
|/
* Imply `#no_capture` to all variadic parametersgingerBill2024-07-142-2/+2
|
* Add more uses of `#no_capture`gingerBill2024-07-142-2/+2
|
* Add documentation for `write_decorated_table`Feoramund2024-06-261-0/+51
|
* Add `write_decorated_table` APIFeoramund2024-06-261-0/+79
|
* Add string caching example documentationFeoramund2024-06-241-0/+42
|
* Add complete example showcasing Unicode supportFeoramund2024-06-241-0/+81
|
* Make `core:text/table` examples more completeFeoramund2024-06-241-40/+60
| | | | | They should be completely copy-and-paste friendly now, without the assumption of someone using `using table`.
* Add `Width_Proc` documentationFeoramund2024-06-241-0/+31
|
* Remove `table.dirty`Feoramund2024-06-241-27/+2
|
* Let `WIDTH_PROC` be specified as proc argument to `write_*_table`Feoramund2024-06-241-9/+5
|
* Crunch the rangesFeoramund2024-06-241-6/+6
|
* Update `core:text/table` documentationFeoramund2024-06-201-8/+16
|
* Use `log.error` instead of `eprintf`Feoramund2024-06-201-1/+2
|
* Add new API to `core:text/table`Feoramund2024-06-201-18/+124
| | | | | | - `header/row_of_values`, same `header/row`, more verbose name - `aligned_header/row_of_values`, set alignment for an entire row - `header/row_of_aligned_values`, set alignment per value