Compare commits

..

2 commits

3 changed files with 19 additions and 3 deletions

View file

@ -37,6 +37,7 @@ top_bar: []const u8 = "tabs",
bottom_bar: []const u8 = "mode file log selection diagnostics keybind branch linenumber clock spacer", bottom_bar: []const u8 = "mode file log selection diagnostics keybind branch linenumber clock spacer",
show_scrollbars: bool = true, show_scrollbars: bool = true,
show_fileicons: bool = true, show_fileicons: bool = true,
scrollbar_auto_hide: bool = false,
start_debugger_on_crash: bool = false, start_debugger_on_crash: bool = false,
@ -46,6 +47,7 @@ panel_style: WidgetStyle = .compact,
home_style: WidgetStyle = .bars_top_bottom, home_style: WidgetStyle = .bars_top_bottom,
pane_left_style: WidgetStyle = .bar_right, pane_left_style: WidgetStyle = .bar_right,
pane_right_style: WidgetStyle = .bar_left, pane_right_style: WidgetStyle = .bar_left,
pane_style: PaneStyle = .panel,
centered_view: bool = false, centered_view: bool = false,
centered_view_width: usize = 145, centered_view_width: usize = 145,
@ -125,3 +127,8 @@ pub const CursorShape = enum {
beam_blink, beam_blink,
beam, beam,
}; };
pub const PaneStyle = enum {
panel,
editor,
};

View file

@ -3,6 +3,7 @@ border: Border = Border.blank,
pub const WidgetType = @import("config").WidgetType; pub const WidgetType = @import("config").WidgetType;
pub const WidgetStyle = @import("config").WidgetStyle; pub const WidgetStyle = @import("config").WidgetStyle;
pub const tui = @import("tui.zig");
pub const Padding = struct { pub const Padding = struct {
pub const Unit = u16; pub const Unit = u16;
@ -151,7 +152,13 @@ pub fn theme_style_from_type(style_type: WidgetType, theme: *const Theme) Theme.
.palette => .{ .fg = theme.editor_widget_border.fg, .bg = theme.editor_widget.bg }, .palette => .{ .fg = theme.editor_widget_border.fg, .bg = theme.editor_widget.bg },
.panel => .{ .fg = theme.editor_widget_border.fg, .bg = theme.editor.bg }, .panel => .{ .fg = theme.editor_widget_border.fg, .bg = theme.editor.bg },
.home => .{ .fg = theme.editor_widget_border.fg, .bg = theme.editor.bg }, .home => .{ .fg = theme.editor_widget_border.fg, .bg = theme.editor.bg },
.pane_left => .{ .fg = theme.editor_widget.bg, .bg = theme.panel.bg }, .pane_left => switch (tui.config().pane_style) {
.pane_right => .{ .fg = theme.editor_widget.bg, .bg = theme.panel.bg }, .panel => .{ .fg = theme.editor_widget.bg, .bg = theme.panel.bg },
.editor => .{ .fg = theme.editor_widget.bg, .bg = theme.editor.bg },
},
.pane_right => switch (tui.config().pane_style) {
.panel => .{ .fg = theme.editor_widget.bg, .bg = theme.panel.bg },
.editor => .{ .fg = theme.editor_widget.bg, .bg = theme.editor.bg },
},
}; };
} }

View file

@ -6,6 +6,7 @@ const Plane = @import("renderer").Plane;
const input = @import("input"); const input = @import("input");
const EventHandler = @import("EventHandler"); const EventHandler = @import("EventHandler");
const tui = @import("tui.zig");
const Widget = @import("Widget.zig"); const Widget = @import("Widget.zig");
plane: Plane, plane: Plane,
@ -128,7 +129,8 @@ pub fn render(self: *Self, theme: *const Widget.Theme) bool {
defer frame.deinit(); defer frame.deinit();
self.plane.set_base_style(style); self.plane.set_base_style(style);
self.plane.erase(); self.plane.erase();
smooth_bar_at(&self.plane, @intCast(self.pos_scrn), @intCast(self.view_scrn)) catch {}; if (!(tui.config().scrollbar_auto_hide and self.size_scrn == self.view_scrn))
smooth_bar_at(&self.plane, @intCast(self.pos_scrn), @intCast(self.view_scrn)) catch {};
return false; return false;
} }