Commit Graph

333 Commits

Author SHA1 Message Date
7126755275 Add optional types 2024-09-11 01:31:31 -04:00
d356309023 Add (/path):by_line() 2024-09-09 22:16:40 -04:00
23de8e1f5a Fix up some stuff with path escaping 2024-09-09 16:54:08 -04:00
f6487510d4 Add shims for hashing/equality of langs 2024-09-09 16:08:59 -04:00
02eefdd52c Fix issues with path reading from pipes (don't UTF8 validate chunks,
because they can be fragments) and some misc buffering issues.
2024-09-09 15:28:03 -04:00
6ea6aadd96 Correctly clean up CLI args that are paths 2024-09-09 14:48:33 -04:00
900b456a26 Ensure more rigoroous cleanup and validation of paths 2024-09-09 14:35:00 -04:00
e16792d5eb Add Text.starts_with() and Text.ends_with() 2024-09-09 05:31:25 -04:00
0b441054b3 Fix up some path logic 2024-09-09 04:49:02 -04:00
bc032de1df Add Text$compare_values() 2024-09-09 04:42:36 -04:00
d3509e964a Bugfix for $/{..}/ matching zero-width at the end of text 2024-09-09 04:42:14 -04:00
6f174aa85d Fix some logic for extensions and base names 2024-09-09 04:19:31 -04:00
3081da3dd0 Add Path.base_name(), Path.parent(), Path.extension() 2024-09-09 03:51:35 -04:00
8423a7ed07 Print paths as the literals look 2024-09-09 03:20:44 -04:00
a306f94557 Add mktemp functionality 2024-09-09 02:43:15 -04:00
1fbe2cb5dd For parsing paths, use nested parens: (./foo), also add some methods 2024-09-09 02:02:08 -04:00
6752c60f32 More methods 2024-09-09 01:48:37 -04:00
11c560ebcc More path stuff including some methods 2024-09-09 01:14:33 -04:00
13a9304dec Initial working version 2024-09-09 00:22:12 -04:00
f86cc6549f Bugfixes 2024-09-08 19:33:49 -04:00
aeed1992e9 Fix nearly every GCC warning and add __attribute__((pure/const)) where
appropriate
2024-09-08 17:17:15 -04:00
cf9d5b1619 $/{!..}/ is the same as $/{end}/ 2024-09-07 03:02:37 -04:00
6bacf34211 Fix captures for {..} optimization 2024-09-07 03:00:42 -04:00
cbf0bc9207 Optimization to terminate pattern searches early if there's a greedy
{..} at the end
2024-09-07 02:51:14 -04:00
5927ba86e3 Optimize text matching 2024-09-07 02:46:01 -04:00
0a4d18c8bd Bugfix uninitialized variables 2024-09-07 01:07:13 -04:00
cf7ea6fbef Add exit() function 2024-09-07 00:44:47 -04:00
8670cbf943 Make {start} and {end} non-capturing 2024-09-06 23:12:15 -04:00
594d1a627f Fix some C string and path resolving issues 2024-09-06 15:39:00 -04:00
176205a22d Print stack trace if $TOMO_STACKTRACE is set 2024-09-06 14:41:34 -04:00
4b352f89a3 Add Shell dsl type 2024-09-06 11:37:33 -04:00
5221584d28 Minor cleanup 2024-09-06 11:37:16 -04:00
57b9719715 Add convenience function for debug printing 2024-09-06 11:36:42 -04:00
fa56d845c0 Add missing file 2024-09-06 11:35:42 -04:00
89a1f8a401 Misc fixes 2024-09-06 04:10:41 -04:00
84a4d94ca6 Flush stdout more 2024-09-06 03:29:51 -04:00
c789d25878 Text overhaul 2024-09-06 03:29:07 -04:00
44892df4c5 Add Text.trim() 2024-09-06 00:03:28 -04:00
1000423d2b Some const stuff 2024-09-05 17:06:27 -04:00
bac14fa6c7 Fully clean up siphash code and fix some issues 2024-09-05 16:23:05 -04:00
df61a0805f Correctly resolve '../' paths 2024-09-05 15:47:00 -04:00
e92ea6fe1b Remove unused macro 2024-09-05 15:33:43 -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
a8be9efcd3 Rework CLI compilation so that all of the argument parsing is written to
the .tm.c file and the runner program is *just* a single function call
to the function that parses args and runs the main function. Also
improved some CLI usage error code
2024-09-05 14:38:37 -04:00
8d41b2b1fb Do the extremely obvious optimization of checking if two pieces of data
are at the same location before bothering to compare them
2024-09-05 10:31:35 -04:00
41e4ddb973 Clear out some CRLF cruft 2024-09-05 03:58:20 -04:00
73df39ff7e Fix stability of concatenation 2024-09-05 03:47:15 -04:00
e3cc4f88e0 Be extra correct about prefix codepoints 2024-09-05 02:56:56 -04:00