From d3f60c930db06b540bb196b6323a88045e746bbf Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Thu, 1 Oct 2026 10:29:16 -0300 Subject: 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: ` record; `#` still starts a comment only at a line's start, so `#ff0000` stays a value. Co-Authored-By: Claude Opus 5.5 --- src/pardes.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/pardes.zig') 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]) { -- cgit v1.3