diff options
Diffstat (limited to 'src/config.zig')
| -rw-r--r-- | src/config.zig | 62 |
1 files changed, 33 insertions, 29 deletions
diff --git a/src/config.zig b/src/config.zig index 94b32b88..592281d3 100644 --- a/src/config.zig +++ b/src/config.zig @@ -1386,35 +1386,36 @@ pub const Runtime = struct { }; if (context.locations.len > 0) try out.print("LocationsConfig {s}\n", .{context.locations}); - // In effect, and set by no word. + // In effect, and set by no word: each a `#` line, which runs as + // nothing (exec.executeFrom), so the report can be written back. try out.writeByte('\n'); - try out.print("Last shell spawned: {s}\n", .{shown(state.shell.effective.get())}); - try out.print("Shell change pending: {s}\n", .{onOff(state.shell.pending)}); + try out.print("# Last shell spawned: {s}\n", .{shown(state.shell.effective.get())}); + try out.print("# Shell change pending: {s}\n", .{onOff(state.shell.pending)}); if (find("Font").?.enabled(context.capabilities)) { const f = &state.font; - try out.print("Font in use: {s} {d}.{d:0>2} {s}\n", .{ shown(f.effective_name.get()), f.effective_size_hundredths / 100, f.effective_size_hundredths % 100, @tagName(f.effective_size_unit) }); - try out.print("Font change pending: {s}\n", .{onOff(f.pending)}); + try out.print("# Font in use: {s} {d}.{d:0>2} {s}\n", .{ shown(f.effective_name.get()), f.effective_size_hundredths / 100, f.effective_size_hundredths % 100, @tagName(f.effective_size_unit) }); + try out.print("# Font change pending: {s}\n", .{onOff(f.pending)}); } if (find("WindowOpacity").?.enabled(context.capabilities)) - try out.print("Window opacity change pending: {s}\n", .{onOff(state.window_opacity_pending)}); + try out.print("# Window opacity change pending: {s}\n", .{onOff(state.window_opacity_pending)}); if (context.capabilities.tagline_font_size and !find("TaglineSize").?.enabled(context.capabilities)) - try out.writeAll("Tagline size: build-time only\n"); + try out.writeAll("# Tagline size: build-time only\n"); if (context.startup_config_path) |path| - try out.print("Startup config: {s}\n", .{path}) + try out.print("# Startup config: {s}\n", .{path}) else - try out.writeAll("Startup config: no per-user config path\n"); + try out.writeAll("# Startup config: no per-user config path\n"); try out.print( - "Platform: {s}\n" ++ - "Default shell ($SHELL, else /bin/sh): {s}\n", + "# Platform: {s}\n" ++ + "# Default shell ($SHELL, else /bin/sh): {s}\n", .{ context.platform, context.compiled_default_shell }, ); if (context.hover_delay_frames) |frames| - try out.print("Look hover delay: {d} frames\n", .{frames}) + try out.print("# Look hover delay: {d} frames\n", .{frames}) else - try out.writeAll("Look hover delay: off\n"); - try out.print("Native images: {s}\n", .{onOff(context.native_images)}); + try out.writeAll("# Look hover delay: off\n"); + try out.print("# Native images: {s}\n", .{onOff(context.native_images)}); if (std.mem.eql(u8, context.platform, "gui")) - try out.print("Pet: {s}\n", .{@tagName(state.pet)}); + try out.print("# Pet: {s}\n", .{@tagName(state.pet)}); } test "setting names are unique" { @@ -1761,15 +1762,15 @@ pub const Runtime = struct { "Theme acme\n", "WindowOpacity 85\n", "Font /fonts/wanted.ttf:18.50\n", - "Font in use: Effective Mono 13.75 points\n", - "Font change pending: on\n", - "Window opacity change pending: off\n", + "# Font in use: Effective Mono 13.75 points\n", + "# Font change pending: on\n", + "# Window opacity change pending: off\n", "TaglineSize 82\n", - "Startup config: /tmp/pardes/init\n", - "Platform: gui\n", - "Default shell ($SHELL, else /bin/sh): /bin/sh\n", - "Look hover delay: 18 frames\n", - "Native images: on\n", + "# Startup config: /tmp/pardes/init\n", + "# Platform: gui\n", + "# Default shell ($SHELL, else /bin/sh): /bin/sh\n", + "# Look hover delay: 18 frames\n", + "# Native images: on\n", }) |expected| try std.testing.expect(std.mem.indexOf(u8, report, expected) != null); var defaults: Runtime = .{}; @@ -1794,22 +1795,25 @@ pub const Runtime = struct { try std.testing.expect(!find("WindowBlur").?.enabled(defaults_context.capabilities)); try std.testing.expect(find("WindowOpacity").?.enabled(context.capabilities)); try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Shell /bin/sh\n") != null); - try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Last shell spawned: (none)\n") != null); - try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Shell change pending: on\n") != null); - try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Startup config: no per-user config path\n") != null); + try std.testing.expect(std.mem.indexOf(u8, defaults_report, "# Last shell spawned: (none)\n") != null); + try std.testing.expect(std.mem.indexOf(u8, defaults_report, "# Shell change pending: on\n") != null); + try std.testing.expect(std.mem.indexOf(u8, defaults_report, "# Startup config: no per-user config path\n") != null); try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Font unsupported\n") != null); try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Font in use") == null); try std.testing.expect(std.mem.indexOf(u8, defaults_report, "PanelSlide off\n") != null); try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Crt unsupported\n") != null); try std.testing.expect(std.mem.indexOf(u8, defaults_report, "TaglineSize unsupported\n") != null); - try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Look hover delay: off\n") != null); - try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Native images: off\n") != null); + try std.testing.expect(std.mem.indexOf(u8, defaults_report, "# Look hover delay: off\n") != null); + try std.testing.expect(std.mem.indexOf(u8, defaults_report, "# Native images: off\n") != null); // A setting this shell does not have reads so, as a line to write. try std.testing.expect(std.mem.indexOf(u8, defaults_report, "Ligatures unsupported\n") != null); // Every line before the blank one is a ctl word and its value. const words = defaults_report[0..std.mem.indexOf(u8, defaults_report, "\n\n").?]; var lines = std.mem.splitScalar(u8, words, '\n'); while (lines.next()) |line| try std.testing.expect(find(line[0..std.mem.indexOfScalar(u8, line, ' ').?]) != null); + // ...and every one after it a `#` line, which runs as nothing. + var info = std.mem.splitScalar(u8, std.mem.trimEnd(u8, defaults_report[words.len + 2 ..], "\n"), '\n'); + while (info.next()) |line| try std.testing.expect(std.mem.startsWith(u8, line, "# ")); defaults_context.platform = "web"; defaults_context.capabilities.panel_transitions = false; @@ -1819,7 +1823,7 @@ pub const Runtime = struct { const web_report = storage[0..out.end]; try std.testing.expect(std.mem.indexOf(u8, web_report, "PanelSlide unsupported\n") != null); try std.testing.expect(std.mem.indexOf(u8, web_report, "TaglineSize 100\n") != null); - try std.testing.expect(std.mem.indexOf(u8, web_report, "Tagline size: build-time only\n") != null); + try std.testing.expect(std.mem.indexOf(u8, web_report, "# Tagline size: build-time only\n") != null); } }; |
