summaryrefslogtreecommitdiff
path: root/mac/.config/yazi/plugins.bak/diff.yazi/main.lua
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-09-13 17:11:00 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-09-13 17:11:00 +0900
commit2e6d3671d0e01ff5751893075e7fc5c53b288f95 (patch)
tree2ddc56faa7befe47996fe9bdbe61795401d98987 /mac/.config/yazi/plugins.bak/diff.yazi/main.lua
parentedc0ccf1622788bc1051ab08a54378c36ac785f1 (diff)
deleted yazi/flavors, deleted yazi/plugins, created flavors.bak/, created plugins.bak/
Diffstat (limited to 'mac/.config/yazi/plugins.bak/diff.yazi/main.lua')
-rw-r--r--mac/.config/yazi/plugins.bak/diff.yazi/main.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/mac/.config/yazi/plugins.bak/diff.yazi/main.lua b/mac/.config/yazi/plugins.bak/diff.yazi/main.lua
new file mode 100644
index 0000000..21dde6d
--- /dev/null
+++ b/mac/.config/yazi/plugins.bak/diff.yazi/main.lua
@@ -0,0 +1,41 @@
+--- @since 25.2.7
+
+local function info(content)
+ return ya.notify {
+ title = "Diff",
+ content = content,
+ timeout = 5,
+ }
+end
+
+local selected_url = ya.sync(function()
+ for _, u in pairs(cx.active.selected) do
+ return u
+ end
+end)
+
+local hovered_url = ya.sync(function()
+ local h = cx.active.current.hovered
+ return h and h.url
+end)
+
+return {
+ entry = function()
+ local a, b = selected_url(), hovered_url()
+ if not a then
+ return info("No file selected")
+ elseif not b then
+ return info("No file hovered")
+ end
+
+ local output, err = Command("diff"):arg("-Naur"):arg(tostring(a)):arg(tostring(b)):output()
+ if not output then
+ return info("Failed to run diff, error: " .. err)
+ elseif output.stdout == "" then
+ return info("No differences found")
+ end
+
+ ya.clipboard(output.stdout)
+ info("Diff copied to clipboard")
+ end,
+}