summaryrefslogtreecommitdiff
path: root/src/pardes.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-10-01 10:29:16 -0300
committerGabriel Schneider <[email protected]>2026-10-01 10:36:28 -0300
commitd3f60c930db06b540bb196b6323a88045e746bbf (patch)
treebeb8aa1a92d20c6d7ae85c45ac50d53f9e89add0 /src/pardes.zig
parent040620344ee8901582d944dbd04f8167f0a6cbc0 (diff)
downloadpardes-d3f60c930db06b540bb196b6323a88045e746bbf.tar.gz
pardes-d3f60c930db06b540bb196b6323a88045e746bbf.zip
The init file reads past a UTF-8 BOM, and every line it fails is said and logged with its line number, never silent
A BOM made the first word unknown, a word no builtin has was skipped without a word, and a setting that refused its value said nothing (the init file ran with announcing off). Each failing line now leaves a notice and an `err - init file line N: <why>` record; `#` still starts a comment only at a line's start, so `#ff0000` stays a value. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/pardes.zig')
-rw-r--r--src/pardes.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pardes.zig b/src/pardes.zig
index 803686e0..c6850451 100644
--- a/src/pardes.zig
+++ b/src/pardes.zig
@@ -620,7 +620,8 @@ test "startup config runs builtin lines in order and isolates bad lines" {
defer p.deinit();
try std.testing.expectEqualStrings("acme", p.theme().name);
- try std.testing.expect(!p.animationActive());
+ // The theme lands without a tween (the chrome is the theme's at once);
+ // the bad lines are said, so a notice may be animating.
try std.testing.expectEqual(ChromeTheme.fromTheme(p.theme()), p.chromeTheme().*);
try std.testing.expect(!p.quit);
for (0..p.effects_len) |i| switch (p.effects[(p.effects_head + i) % p.effects.len]) {