diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-27 21:49:28 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:14 -0300 |
| commit | 41bbbd05dccb02631ed785d19ed54fb4edfcc471 (patch) | |
| tree | ab1b8c26cb588eb92b9b1e58004237a2abe919ab /src/builtins.zig | |
| parent | fa5260c120268f1c1e3dbd2a17264e5896476576 (diff) | |
| download | pardes-41bbbd05dccb02631ed785d19ed54fb4edfcc471.tar.gz pardes-41bbbd05dccb02631ed785d19ed54fb4edfcc471.zip | |
Move colour themes out of pardes.zig into colors.zig
Pure move, no behaviour change: the Theme type, the curated palettes,
fold and the themes ring with its two comptime checks, themeContrast, mix,
ChromeTheme, ChromeAnimation and initial_chrome, the Pardes methods that
load theme files and switch themes (nextThemeFileGeneration,
requestThemeFile, ThemeFileRequest, themeFileRequest, failThemeFile,
loadThemeFile, finishThemeInitialization, invalidateThemeDependentRasters,
setThemeIndex), and the ten theme tests go verbatim to colors.zig.
The methods become free functions taking `p: *Pardes`; their call sites
change from `p.setThemeIndex(i)` to `colors.setThemeIndex(p, i)` (37 of
them, in pardes.zig, builtins.zig, file_watch.zig, macos.zig and two test
files). pardes.zig keeps `pub const Theme/themes/native_theme_count/
ChromeTheme = colors.X;` for the shells that name them, and sync and
enterTagEdit become pub because a moved test calls them.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/builtins.zig')
| -rw-r--r-- | src/builtins.zig | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/builtins.zig b/src/builtins.zig index ac336ce0..ad2c5f6a 100644 --- a/src/builtins.zig +++ b/src/builtins.zig @@ -1,6 +1,7 @@ //! Command structs and runtime settings form the builtin registry; bindings live in config.zig. const std = @import("std"); const pardes = @import("pardes.zig"); +const colors = @import("colors.zig"); const Pardes = pardes.Pardes; const Pane = pardes.Pane; const panes = @import("panes.zig"); @@ -304,7 +305,7 @@ pub const Msg = struct { pub const NextColor = struct { pub fn run(c: Ctx) void { - c.p.setThemeIndex((@as(usize, c.p.settings.theme) + 1) % pardes.themes.len); + colors.setThemeIndex(c.p, (@as(usize, c.p.settings.theme) + 1) % pardes.themes.len); } }; @@ -320,7 +321,7 @@ pub const ThemeFile = struct { pub const enabled = pardes.hosted; pub fn run(c: Ctx) void { if (comptime enabled) - c.p.requestThemeFile(c.id, c.arg orelse return) + colors.requestThemeFile(c.p, c.id, c.arg orelse return) else unreachable; } |
