73d8dde5df
Merge branch 'dev'
2025-08-15 01:47:50 +01:00
12a3f1e3f9
Updated PKGBUILD sha512sum.
2025-08-15 01:47:42 +01:00
7dd731049c
Merge branch 'dev'
0.1.10
2025-08-15 01:41:47 +01:00
d69e65f2fd
Updated to 0.1.10.
2025-08-15 01:41:21 +01:00
b6da2a861a
Fixed cargo license missing apache.
2025-08-15 01:35:53 +01:00
0ec921179b
Re-formatted all files.
2025-08-15 01:33:02 +01:00
6d11188058
Updated to rustc 1.91.0-nightly (8e62bfd31 2025-08-12).
2025-08-15 01:32:06 +01:00
28a96fe4e4
Added a progress bar.
2025-03-31 01:42:22 +01:00
9056f143dc
Fixed zbuild continuing even when errors occurred.
2025-03-19 21:22:53 +00:00
642c5e1f54
Migrated tests to new syntax changes.
2025-03-19 21:17:14 +00:00
1a045562d6
Added time it took to build/check all targets to output.
2025-03-01 19:43:50 +00:00
687f4f7676
Command stdout may now be captured into an alias.
...
This means that commands are now lazily expanded as they're executed, to ensure that you can use aliases only defined halfway through.
2025-02-08 19:48:23 +00:00
9f12149905
Rule dependencies may now be rules.
2025-02-05 14:10:15 +00:00
22bb666b39
Simplified ExprTree.
...
Due to the usual small-ish number of rules, having several indirections through a `BTreeMap` is actually more inefficient than just iterating through all entries.
2025-02-04 15:51:19 +00:00
ce53d34962
Simplified ExprTree::insert.
2025-02-04 15:42:26 +00:00
fe5e7a7dcf
Replaced some BTreeMaps with HashMaps.
2025-02-04 15:38:56 +00:00
2ee5f5796a
Replaced several more IndexMaps with HashMaps.
2025-02-04 15:37:48 +00:00
e5a5580832
Replaced unnecessary IndexMap with an HashMap.
2025-02-04 15:36:18 +00:00
1d4e48d07c
Removed Arc wrapping of some things.
...
They do help with performance when cloning, but we'll be removing cloning as much as possible in the future, so this will just get in the way by adding another indirection.
2025-02-04 15:31:27 +00:00
4608fba735
Resolved patterns are now a small vector of size 1.
...
This avoids many allocations from the btreemap.
2025-02-04 15:27:04 +00:00
31847e80ce
Fixed expression printing not having {}.
2025-02-04 14:14:34 +00:00
f4ed20d3d4
Added empty example for measuring startup performance.
2025-02-03 10:29:20 +00:00
aa3246831d
Updated all examples with new syntax.
2025-02-03 10:10:25 +00:00
a06d6185eb
ArcStr now uses yoke to avoid unsafe.
2025-02-03 09:54:59 +00:00
4d6991314a
Added missing safety comment.
2025-02-03 09:15:32 +00:00
f92532e9c3
Removed another use of unsafe in ArcStr.
2025-02-03 09:13:56 +00:00
e87e327c19
ArcStr now holds a &'static str instead of a NonNull<str>.
...
Safety-wise it's about the same, but now we ensure that the construction is the unsafe part, which is easier to verify.
2025-02-03 09:13:12 +00:00
bb8b391c7d
Added an ArcStr test to ensure safety across a panic.
2025-02-03 09:01:13 +00:00
6d9ca63b31
Removed a usage of unsafe using str::substr_range.
2025-02-03 08:50:01 +00:00
5c09a6f9bb
Removed easy conversion between &str and ArcStr.
...
This is not cheap, and if possible, we should try to go from `ArcStr` to `ArcStr` instead.
2025-02-03 08:38:39 +00:00
e511a13e26
Removed most ArcStr allocations in build::parse_deps_file.
...
Now only a single allocation exists for the file contents.
2025-02-03 08:38:16 +00:00
8782b87252
ExprTree::find now receives an ArcStr to avoid creating a new one with no associated string.
2025-02-03 08:34:57 +00:00
e36f260ec6
Removed useless field of Expander.
2025-02-03 08:31:11 +00:00
2d144123a2
Removed some old lints.
2025-02-03 08:30:49 +00:00
1479fe88b9
Added minimal vscode extension for zbuild files.
2025-02-03 08:19:43 +00:00
3aeee578d1
Added include statements.
...
Currently just works as-if copy-pasting the contents, with no scoping.
2025-02-03 06:52:43 +00:00
7c4f4cd8ea
ast::parse now receives a path instead of a string.
...
This allows the error message to also print the file, which allows clicking on the terminal output to go to the error location in some terminals.
2025-02-03 06:35:34 +00:00
8898847018
Moved Ast::parse_full into a free function.
2025-02-03 06:23:46 +00:00
6694941c0d
Removed lifetimes from Ast.
2025-02-02 23:11:30 +00:00
86905a0ad6
Full execution syntax now uses the same syntax as rules.
2025-02-01 21:05:21 +00:00
e21da1eb1e
Rule outputs, dependencies and execution are no longer arrays and must be declared separately.
...
Renamed rule dependencies from `deps` to `dep`.
2025-02-01 20:44:44 +00:00
c29c007394
Improved error handling.
2025-02-01 20:16:37 +00:00
556947adc1
Parser now doesn't completely discard information about previously parsed parts.
2025-02-01 19:39:16 +00:00
d44a389a87
Removed backtracing further than a token when parsing the AST.
...
`AnyOfN` now skips reporting the error position
Every time we have a split, we only ever peek at the next token, and then parse the corresponding type.
This will lead to better error messages.
2025-01-30 05:43:24 +00:00
abf35c9eeb
Replaced manual implementation of at_most with a call to it.
2025-01-30 05:17:49 +00:00
4f898806d2
Added some tests for ArcStr.
2025-01-30 05:08:09 +00:00
c7954bfeae
Removed warning on restriction lints.
2025-01-30 04:54:47 +00:00
5217f091b6
Replaced anyhow and AppError with zutil_app_error.
2025-01-30 04:48:04 +00:00
eedd24d9b5
Added more examples of failures.
2025-01-30 04:45:04 +00:00
cfeb34296d
Replaced tempdir with tempfile.
2025-01-30 02:14:23 +00:00