refactor: add tui.active_color_scheme() method

This commit is contained in:
CJ van den Berg 2026-04-10 15:46:39 +02:00
parent 80988915d6
commit cde7e4c6f5
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -85,7 +85,7 @@ query_cache_: *syntax.QueryCache,
frames_rendered_: usize = 0,
clipboard: ?std.ArrayList(ClipboardEntry) = null,
clipboard_current_group_number: usize = 0,
color_scheme: enum { dark, light } = .dark,
color_scheme: ColorScheme = .dark,
color_scheme_locked: bool = false,
hint_mode: HintMode = .prefix,
last_palette: ?LastPalette = null,
@ -97,6 +97,8 @@ jump_mode_: bool = false,
auto_run_timer: ?tp.Cancellable = null,
pub const ColorScheme = enum { dark, light };
const HintMode = enum { none, prefix, all };
const LastPalette = struct {
@ -1068,14 +1070,14 @@ fn set_theme_by_name(self: *Self, name: []const u8, action: enum { none, store }
}
}
fn force_color_scheme(self: *Self, color_scheme: @TypeOf(self.color_scheme)) void {
fn force_color_scheme(self: *Self, color_scheme: ColorScheme) void {
self.color_scheme = color_scheme;
self.color_scheme_locked = true;
self.set_terminal_style(self.current_theme());
self.logger.print("color scheme: {t} ({s})", .{ self.color_scheme, self.current_theme().name });
}
fn set_color_scheme(self: *Self, color_scheme: @TypeOf(self.color_scheme)) void {
fn set_color_scheme(self: *Self, color_scheme: ColorScheme) void {
if (self.color_scheme_locked) return;
self.color_scheme = color_scheme;
self.set_terminal_style(self.current_theme());
@ -1931,6 +1933,10 @@ pub fn config() *const @import("config") {
return &current().config_;
}
pub fn active_color_scheme() ColorScheme {
return current().color_scheme;
}
pub fn get_tab_width() usize {
const self = current();
return self.session_tab_width orelse self.config_.tab_width;