aboutsummaryrefslogtreecommitdiff
path: root/core/text/regex
Commit message (Collapse)AuthorAgeFilesLines
* core:os -> core:os/old && core:os/os2 -> core:osJeroen van Rijn6 days1-1/+1
|
* Remove all `core:os` imports from JS targetsJeroen van Rijn6 days3-7/+19
| | | | Fix `local_tz_name` on FreeBSD.
* core:text/regex -> core:os/os2Jeroen van Rijn7 days1-2/+2
|
* text/regex: Pass given allocator on in create_iteratorFabian Erdmann12 days1-2/+2
|
* Change Odin's LICENSE to zlib from BSD 3-clausegingerBill2025-10-2811-11/+11
| | | | This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form.
* Further overhaul of package line comments.Jeroen van Rijn2025-10-097-12/+10
|
* 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.
* 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
|
* 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: regex's match_with_preallocated_capture returning num_groupsYcros2024-12-041-0/+1
|
* 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