diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-09-13 18:18:26 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-09-13 18:18:26 +0900 |
| commit | 95528f5119f0e973bb0ffb41ed4e17564b39676e (patch) | |
| tree | 2aab63e1793e15adc8f986789318dfece947383f /mac/.config/yazi/plugins | |
| parent | fa7b259c8011f410632dae255c04015fb5c5a0fa (diff) | |
updates
Diffstat (limited to 'mac/.config/yazi/plugins')
| -rw-r--r-- | mac/.config/yazi/plugins/confirm-quit.yazi/main.lua | 20 | ||||
| -rw-r--r-- | mac/.config/yazi/plugins/folder-rules.yazi/main.lua | 12 | ||||
| -rw-r--r-- | mac/.config/yazi/plugins/parent-arrow.yazi/main.lua | 24 |
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 } |
