Commit Graph

42 Commits

Author SHA1 Message Date
9447ba8c4a Split pattern code into its own file 2024-09-13 13:34:04 -04:00
75fbaa79bc Rename closure_t -> Closure_t for consistency 2024-09-11 13:56:39 -04:00
f6487510d4 Add shims for hashing/equality of langs 2024-09-09 16:08:59 -04:00
e16792d5eb Add Text.starts_with() and Text.ends_with() 2024-09-09 05:31:25 -04:00
bc032de1df Add Text$compare_values() 2024-09-09 04:42:36 -04:00
aeed1992e9 Fix nearly every GCC warning and add __attribute__((pure/const)) where
appropriate
2024-09-08 17:17:15 -04:00
594d1a627f Fix some C string and path resolving issues 2024-09-06 15:39:00 -04:00
44892df4c5 Add Text.trim() 2024-09-06 00:03:28 -04:00
04c8fb0362 Replace $Type with Type$info for builtin TypeInfos 2024-09-05 15:31:54 -04:00
391c1b6bde Rename table_t -> Table_t 2024-09-05 14:57:31 -04:00
abe45a3c25 Rename array_t -> Array_t 2024-09-05 14:56:37 -04:00
3a556296b6 Add Text:repeat() 2024-09-04 21:22:03 -04:00
00543b4e87 Add Text.map(pat, fn) 2024-09-04 21:02:37 -04:00
e0aca8fa72 Add method for getting a length-based string as Text 2024-09-04 03:02:30 -04:00
df844946f7 Add Text:matches() for convenience and performance 2024-09-04 00:34:27 -04:00
ec688c11bb Clean up codegen so $Foo"..." comes out as foo$Foo("...") instead of
Text("...")
2024-09-04 00:18:03 -04:00
805082d299 Minor codegen cleanup Texts(...) 2024-09-03 23:35:42 -04:00
b8bb4ada8b Add recursive mode to text replacement and update docs 2024-09-03 23:16:45 -04:00
850fc8fbe1 Clean up text replacement API to use backrefs instead of match_chain() 2024-09-03 22:56:53 -04:00
c14ed3e3e7 Add Text.replace_all({Pattern:Text}) and tweak API for replacement to
support placeholders
2024-09-03 20:48:11 -04:00
29a87ff325 Support literal Text("blah") for text that is constant ASCII strings 2024-09-03 14:48:54 -04:00
64143f0a13 Syntax overhaul (comments back to #, print statments to !!),
using `$/.../` for patterns and using a DSL for patterns
2024-09-03 13:19:41 -04:00
5feecff9d9 Deprecate Where and change channel API to use a boolean front value 2024-09-03 03:53:36 -04:00
5d6fa135b1 Add Text:find_all() 2024-09-02 23:26:55 -04:00
6e4be93848 Add Text:join() and tests 2024-09-02 23:13:02 -04:00
6d7e09bf18 Add Text:split() and use that with an empty pattern instead of Text:clusters() 2024-09-02 23:07:08 -04:00
9214e621bf Add Text:lines() 2024-09-02 22:57:49 -04:00
708acda54e WIP fixes for synthetic graphemes and adding some text conversion
methods
2024-09-02 22:30:19 -04:00
620ebeab8d Fixing string methods 2024-09-02 20:22:13 -04:00
61e482f6f3 Initial WIP first past 2024-09-02 18:47:39 -04:00
934b843b1c Add .text_content as a field on DSLs instead of a method 2024-08-19 14:29:58 -04:00
d08f795794 Partially working first draft of bigints 2024-08-13 01:30:25 -04:00
c5c3be9e5d Deprecate Text.slice() 2024-05-20 15:27:42 -04:00
5b1960859f Hook up Text.has(), Text.trimmed(), Text.without() 2024-05-20 15:19:31 -04:00
7dddfb71a0 Add Text.slice() 2024-05-19 14:38:44 -04:00
04d9adc813 Switch naming convention to use '$' in symbols more 2024-03-29 12:54:31 -04:00
7622f62935 More file comments 2024-03-18 12:57:49 -04:00
2b83ab279d Add langs to the language 2024-03-09 18:22:12 -05:00
0b7ca098ae Fix some bugs relating to NUL termination of strings 2024-03-04 01:34:12 -05:00
1f6aa4cac7 Add methods for text:clusters(), text:codepoints(), text:bytes() 2024-03-03 19:40:01 -05:00
23478e7036 Rename as_str -> as_text 2024-03-03 18:16:33 -05:00
8fab88c56f Rename Str -> Text 2024-03-03 18:15:45 -05:00