summaryrefslogtreecommitdiff
path: root/fedora/.config/yazi/plugins/parent-arrow.yazi/main.lua
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-12-11 11:46:09 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-12-11 11:46:09 +0900
commit8c0fe8d0d0dd4bbd16c1095e25b2e3ffa1fdb0d3 (patch)
tree597b8dfd730eda9b410fb6082b0bee7fcc7e70e2 /fedora/.config/yazi/plugins/parent-arrow.yazi/main.lua
parent74713d79880967f5f0f8652c6741bc5fa63a8794 (diff)
updates
Diffstat (limited to 'fedora/.config/yazi/plugins/parent-arrow.yazi/main.lua')
-rw-r--r--fedora/.config/yazi/plugins/parent-arrow.yazi/main.lua24
1 files changed, 24 insertions, 0 deletions
diff --git a/fedora/.config/yazi/plugins/parent-arrow.yazi/main.lua b/fedora/.config/yazi/plugins/parent-arrow.yazi/main.lua
new file mode 100644
index 0000000..a4fd880
--- /dev/null
+++ b/fedora/.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 }