diff --git a/src/config.zig b/src/config.zig index eac9730..13cc4e4 100644 --- a/src/config.zig +++ b/src/config.zig @@ -1,3 +1,5 @@ +const builtin = @import("builtin"); + frame_rate: usize = 60, theme: []const u8 = "default", input_mode: []const u8 = "flow", @@ -11,6 +13,7 @@ vim_normal_gutter_line_numbers_relative: bool = true, vim_visual_gutter_line_numbers_relative: bool = true, vim_insert_gutter_line_numbers_relative: bool = false, enable_terminal_cursor: bool = false, +enable_terminal_color_scheme: bool = builtin.os.tag != .windows, highlight_current_line: bool = true, highlight_current_line_gutter: bool = true, show_whitespace: bool = false, diff --git a/src/tui/tui.zig b/src/tui/tui.zig index f9d2726..3aae76e 100644 --- a/src/tui/tui.zig +++ b/src/tui/tui.zig @@ -137,7 +137,7 @@ fn init(a: Allocator) !*Self { } self.mainview = try mainview.create(a); self.resize(); - self.rdr.set_terminal_style(self.theme.editor); + self.set_terminal_style(); try self.rdr.render(); try self.save_config(); if (tp.env.get().is("restore-session")) { @@ -569,7 +569,7 @@ const cmds = struct { return; }; self.config.theme = self.theme.name; - self.rdr.set_terminal_style(self.theme.editor); + self.set_terminal_style(); self.logger.print("theme: {s}", .{self.theme.description}); try self.save_config(); } @@ -577,7 +577,7 @@ const cmds = struct { pub fn theme_next(self: *Self, _: Ctx) Result { self.theme = get_next_theme_by_name(self.theme.name); self.config.theme = self.theme.name; - self.rdr.set_terminal_style(self.theme.editor); + self.set_terminal_style(); self.logger.print("theme: {s}", .{self.theme.description}); try self.save_config(); } @@ -585,7 +585,7 @@ const cmds = struct { pub fn theme_prev(self: *Self, _: Ctx) Result { self.theme = get_prev_theme_by_name(self.theme.name); self.config.theme = self.theme.name; - self.rdr.set_terminal_style(self.theme.editor); + self.set_terminal_style(); self.logger.print("theme: {s}", .{self.theme.description}); try self.save_config(); } @@ -859,3 +859,8 @@ pub const fallbacks: []const FallBack = &[_]FallBack{ .{ .ts = "repeat", .tm = "keyword.control.flow" }, .{ .ts = "field", .tm = "variable" }, }; + +fn set_terminal_style(self: *Self) void { + if (self.config.enable_terminal_color_scheme) + self.rdr.set_terminal_style(self.theme.editor); +}