From 8938c280b678aa29c8eb7065c280e942de2da361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Sat, 25 Nov 2023 21:39:36 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(yazi):=20added=20border?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/yazi/ui.lua | 32 ++++++++++++++++++++++++++++++++ .config/yazi/yazi.toml | 3 +++ 2 files changed, 35 insertions(+) create mode 100644 .config/yazi/ui.lua diff --git a/.config/yazi/ui.lua b/.config/yazi/ui.lua new file mode 100644 index 00000000..02e77bbf --- /dev/null +++ b/.config/yazi/ui.lua @@ -0,0 +1,32 @@ +function Manager:render(area) + local chunks = ui.Layout() + :direction(ui.Direction.HORIZONTAL) + :constraints({ + ui.Constraint.Ratio(MANAGER.layout.parent, MANAGER.layout.all), + ui.Constraint.Ratio(MANAGER.layout.current, MANAGER.layout.all), + ui.Constraint.Ratio(MANAGER.layout.preview, MANAGER.layout.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 = 1, h = 1 }), ui.Position.TOP):symbol(c) + end + + return utils.flat({ + ui.Border(area, ui.Position.ALL):type(ui.Border.ROUNDED), + ui.Bar(chunks[1], ui.Position.RIGHT), + ui.Bar(chunks[3], ui.Position.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 + Folder:render(chunks[1]:padding(ui.Padding.xy(1)), { kind = Folder.PARENT }), + -- Current + Folder:render(chunks[2]:padding(ui.Padding.y(1)), { kind = Folder.CURRENT }), + -- Preview + ui.Base(chunks[3]:padding(ui.Padding.xy(1)), ui.Base.PREVIEW), + }) +end diff --git a/.config/yazi/yazi.toml b/.config/yazi/yazi.toml index bfeb64aa..a99379a3 100644 --- a/.config/yazi/yazi.toml +++ b/.config/yazi/yazi.toml @@ -69,3 +69,6 @@ bizarre_retry = 5 [log] enabled = false + +[plugins] +preload = ["~/.config/yazi/ui.lua"]