From 635457948c977f409311235821bd9769518ea737 Mon Sep 17 00:00:00 2001 From: notohh Date: Mon, 22 Jan 2024 08:34:29 -0500 Subject: [PATCH] init: fmt --- home/yazi/init.lua | 230 +++++++++++++++++++++------------------------ 1 file changed, 106 insertions(+), 124 deletions(-) diff --git a/home/yazi/init.lua b/home/yazi/init.lua index 3a9d3cc..b6e3f49 100644 --- a/home/yazi/init.lua +++ b/home/yazi/init.lua @@ -1,177 +1,159 @@ function Manager:render(area) self.area = area - local chunks = ui.Layout() - :direction(ui.Layout.HORIZONTAL) - :constraints({ - ui.Constraint.Ratio(MANAGER.ratio.parent, MANAGER.ratio.all), - ui.Constraint.Ratio(MANAGER.ratio.current, MANAGER.ratio.all), - ui.Constraint.Ratio(MANAGER.ratio.preview, MANAGER.ratio.all), - }) - :split(area) + local chunks = ui.Layout():direction(ui.Layout.HORIZONTAL):constraints({ + ui.Constraint.Ratio(MANAGER.ratio.parent, MANAGER.ratio.all), + ui.Constraint.Ratio(MANAGER.ratio.current, MANAGER.ratio.all), + ui.Constraint.Ratio(MANAGER.ratio.preview, MANAGER.ratio.all) + }):split(area) local bar = function(c, x, y) - return ui.Bar( - ui.Rect { x = math.max(0, x), y = math.max(0, y), w = math.min(1, area.w), h = math.min(1, area.h) }, - ui.Bar.TOP - ):symbol(c) + return ui.Bar(ui.Rect { + x = math.max(0, x), + y = math.max(0, y), + w = math.min(1, area.w), + h = math.min(1, area.h) + }, ui.Bar.TOP):symbol(c) end return ya.flat { -- Borders ui.Border(area, ui.Border.ALL):type(ui.Border.ROUNDED), - ui.Bar(chunks[1], ui.Bar.RIGHT), - ui.Bar(chunks[3], ui.Bar.LEFT), + ui.Bar(chunks[1], ui.Bar.RIGHT), ui.Bar(chunks[3], ui.Bar.LEFT), bar("┬", chunks[1].right - 1, chunks[1].y), bar("┴", chunks[1].right - 1, chunks[1].bottom - 1), bar("┬", chunks[2].right, chunks[2].y), - bar("┴", chunks[2].right, chunks[1].bottom - 1), - - -- Parent - Parent:render(chunks[1]:padding(ui.Padding.xy(1))), - -- Current - Current:render(chunks[2]:padding(ui.Padding.y(1))), - -- Preview - Preview:render(chunks[3]:padding(ui.Padding.xy(1))), + bar("┴", chunks[2].right, chunks[1].bottom - 1), -- Parent + Parent:render(chunks[1]:padding(ui.Padding.xy(1))), -- Current + Current:render(chunks[2]:padding(ui.Padding.y(1))), -- Preview + Preview:render(chunks[3]:padding(ui.Padding.xy(1))) } end -Status = { - area = ui.Rect.default, -} +Status = {area = ui.Rect.default} function Status.style() - if cx.active.mode.is_select then - return THEME.status.mode_select - elseif cx.active.mode.is_unset then - return THEME.status.mode_unset - else - return THEME.status.mode_normal - end + if cx.active.mode.is_select then + return THEME.status.mode_select + elseif cx.active.mode.is_unset then + return THEME.status.mode_unset + else + return THEME.status.mode_normal + end end function Status:mode() - local mode = tostring(cx.active.mode):upper() - if mode == "UNSET" then - mode = "UN-SET" - end + local mode = tostring(cx.active.mode):upper() + if mode == "UNSET" then mode = "UN-SET" end - local style = self.style() - return ui.Line { - ui.Span(THEME.status.separator_open):fg(style.bg), - ui.Span(" " .. mode .. " "):style(style), - } + local style = self.style() + return ui.Line { + ui.Span(THEME.status.separator_open):fg(style.bg), + ui.Span(" " .. mode .. " "):style(style) + } end function Status:size() - local h = cx.active.current.hovered - if h == nil then - return ui.Line {} - end + local h = cx.active.current.hovered + if h == nil then return ui.Line {} end - local style = self.style() - return ui.Line { - ui.Span(" " .. ya.readable_size(h:size() or h.cha.length) .. " "):fg(style.bg):bg(THEME.status.separator_style.bg), - ui.Span(THEME.status.separator_close):fg(THEME.status.separator_style.fg), - } + local style = self.style() + return ui.Line { + ui.Span(" " .. ya.readable_size(h:size() or h.cha.length) .. " "):fg( + style.bg):bg(THEME.status.separator_style.bg), + ui.Span(THEME.status.separator_close):fg(THEME.status.separator_style.fg) + } end function Status:name() - local h = cx.active.current.hovered - if h == nil then - return ui.Span("") - end - local linked = "" - if h.link_to ~= nil then - linked = " -> " .. tostring(h.link_to) - end - return ui.Span(" " .. h.name .. linked) + local h = cx.active.current.hovered + if h == nil then return ui.Span("") end + local linked = "" + if h.link_to ~= nil then linked = " -> " .. tostring(h.link_to) end + return ui.Span(" " .. h.name .. linked) end function Status:permissions() - local h = cx.active.current.hovered - if h == nil then - return ui.Line {} - end + local h = cx.active.current.hovered + if h == nil then return ui.Line {} end - local perm = h.cha:permissions() - if perm == nil then - return ui.Line {} - end + local perm = h.cha:permissions() + if perm == nil then return ui.Line {} end - local spans = {} - for i = 1, #perm do - local c = perm:sub(i, i) - local style = THEME.status.permissions_t - if c == "-" then - style = THEME.status.permissions_s - elseif c == "r" then - style = THEME.status.permissions_r - elseif c == "w" then - style = THEME.status.permissions_w - elseif c == "x" or c == "s" or c == "S" or c == "t" or c == "T" then - style = THEME.status.permissions_x - end - spans[i] = ui.Span(c):style(style) - end - return ui.Line(spans) + local spans = {} + for i = 1, #perm do + local c = perm:sub(i, i) + local style = THEME.status.permissions_t + if c == "-" then + style = THEME.status.permissions_s + elseif c == "r" then + style = THEME.status.permissions_r + elseif c == "w" then + style = THEME.status.permissions_w + elseif c == "x" or c == "s" or c == "S" or c == "t" or c == "T" then + style = THEME.status.permissions_x + end + spans[i] = ui.Span(c):style(style) + end + return ui.Line(spans) end function Status:percentage() - local percent = 0 - local cursor = cx.active.current.cursor - local length = #cx.active.current.files - if cursor ~= 0 and length ~= 0 then - percent = math.floor((cursor + 1) * 100 / length) - end + local percent = 0 + local cursor = cx.active.current.cursor + local length = #cx.active.current.files + if cursor ~= 0 and length ~= 0 then + percent = math.floor((cursor + 1) * 100 / length) + end - if percent == 0 then - percent = " Top " - else - percent = string.format(" %3d%% ", percent) - end + if percent == 0 then + percent = " Top " + else + percent = string.format(" %3d%% ", percent) + end - local style = self.style() - return ui.Line { - ui.Span(" " .. THEME.status.separator_open):fg(THEME.status.separator_style.fg), - ui.Span(percent):fg(style.bg):bg(THEME.status.separator_style.bg), - } + local style = self.style() + return ui.Line { + ui.Span(" " .. THEME.status.separator_open):fg(THEME.status + .separator_style.fg), + ui.Span(percent):fg(style.bg):bg(THEME.status.separator_style.bg) + } end function Status:position() - local cursor = cx.active.current.cursor - local length = #cx.active.current.files + local cursor = cx.active.current.cursor + local length = #cx.active.current.files - local style = self.style() - return ui.Line { - ui.Span(string.format(" %2d/%-2d ", cursor + 1, length)):style(style), - ui.Span(THEME.status.separator_close):fg(style.bg), - } + local style = self.style() + return ui.Line { + ui.Span(string.format(" %2d/%-2d ", cursor + 1, length)):style(style), + ui.Span(THEME.status.separator_close):fg(style.bg) + } end function Status:render(area) - self.area = area + self.area = area - local left = ui.Line { self:mode(), self:size(), self:name() } - local right = ui.Line { self:owner(), self:permissions(), self:percentage(), self:position() } - return { - ui.Paragraph(area, { left }), - ui.Paragraph(area, { right }):align(ui.Paragraph.RIGHT), - table.unpack(Progress:render(area, right:width())), - } + local left = ui.Line {self:mode(), self:size(), self:name()} + local right = ui.Line { + self:owner(), self:permissions(), self:percentage(), self:position() + } + return { + ui.Paragraph(area, {left}), + ui.Paragraph(area, {right}):align(ui.Paragraph.RIGHT), + table.unpack(Progress:render(area, right:width())) + } end function Status:owner() - local h = cx.active.current.hovered - if h == nil or ya.target_family() ~= "unix" then - return ui.Line {} - end + local h = cx.active.current.hovered + if h == nil or ya.target_family() ~= "unix" then return ui.Line {} end - return ui.Line { - ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"), - ui.Span(":"), - ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"), - ui.Span(" "), - } + return ui.Line { + ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"), + ui.Span(":"), + ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"), + ui.Span(" ") + } end