summaryrefslogtreecommitdiff
path: root/mac/.config/yazi/plugins
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-09-13 18:18:26 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-09-13 18:18:26 +0900
commit95528f5119f0e973bb0ffb41ed4e17564b39676e (patch)
tree2aab63e1793e15adc8f986789318dfece947383f /mac/.config/yazi/plugins
parentfa7b259c8011f410632dae255c04015fb5c5a0fa (diff)
updates
Diffstat (limited to 'mac/.config/yazi/plugins')
-rw-r--r--mac/.config/yazi/plugins/confirm-quit.yazi/main.lua20
-rw-r--r--mac/.config/yazi/plugins/folder-rules.yazi/main.lua12
-rw-r--r--mac/.config/yazi/plugins/parent-arrow.yazi/main.lua24
3 files changed, 56 insertions, 0 deletions
diff --git a/mac/.config/yazi/plugins/confirm-quit.yazi/main.lua b/mac/.config/yazi/plugins/confirm-quit.yazi/main.lua
new file mode 100644
index 0000000..f171bc0
--- /dev/null
+++ b/mac/.config/yazi/plugins/confirm-quit.yazi/main.lua
@@ -0,0 +1,20 @@
+local count = ya.sync(function()
+ return #cx.tabs
+end)
+
+local function entry()
+ if count() < 2 then
+ return ya.emit("quit", {})
+ end
+
+ local yes = ya.confirm({
+ pos = { "center", w = 60, h = 10 },
+ title = "Quit?",
+ content = ui.Text("There are multiple tabs open. Are you sure you want to quit?"):wrap(ui.Wrap.YES),
+ })
+ if yes then
+ ya.emit("quit", {})
+ end
+end
+
+return { entry = entry }
diff --git a/mac/.config/yazi/plugins/folder-rules.yazi/main.lua b/mac/.config/yazi/plugins/folder-rules.yazi/main.lua
new file mode 100644
index 0000000..556f610
--- /dev/null
+++ b/mac/.config/yazi/plugins/folder-rules.yazi/main.lua
@@ -0,0 +1,12 @@
+local function setup()
+ ps.sub("cd", function()
+ local cwd = cx.active.current.cwd
+ if cwd:ends_with("Downloads") then
+ ya.emit("sort", { "mtime", reverse = true, dir_first = false })
+ else
+ ya.emit("sort", { "alphabetical", reverse = false, dir_first = true })
+ end
+ end)
+end
+
+return { setup = setup }
diff --git a/mac/.config/yazi/plugins/parent-arrow.yazi/main.lua b/mac/.config/yazi/plugins/parent-arrow.yazi/main.lua
new file mode 100644
index 0000000..a4fd880
--- /dev/null
+++ b/mac/.config/yazi/plugins/parent-arrow.yazi/main.lua
@@ -0,0 +1,24 @@
+--- @sync entry
+local function entry(_, job)
+ local parent = cx.active.parent
+ if not parent then
+ return
+ end
+
+ local offset = tonumber(job.args[1])
+ if not offset then
+ return ya.err(job.args[1], "is not a number")
+ end
+
+ local start = parent.cursor + 1 + offset
+ local end_ = offset < 0 and 1 or #parent.files
+ local step = offset < 0 and -1 or 1
+ for i = start, end_, step do
+ local target = parent.files[i]
+ if target and target.cha.is_dir then
+ return ya.emit("cd", { target.url })
+ end
+ end
+end
+
+return { entry = entry }