diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-09-13 17:11:00 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-09-13 17:11:00 +0900 |
| commit | 2e6d3671d0e01ff5751893075e7fc5c53b288f95 (patch) | |
| tree | 2ddc56faa7befe47996fe9bdbe61795401d98987 /mac/.config/yazi/plugins.bak/diff.yazi | |
| parent | edc0ccf1622788bc1051ab08a54378c36ac785f1 (diff) | |
deleted yazi/flavors, deleted yazi/plugins, created flavors.bak/, created plugins.bak/
Diffstat (limited to 'mac/.config/yazi/plugins.bak/diff.yazi')
| -rw-r--r-- | mac/.config/yazi/plugins.bak/diff.yazi/README.md | 28 | ||||
| -rw-r--r-- | mac/.config/yazi/plugins.bak/diff.yazi/main.lua | 41 |
2 files changed, 69 insertions, 0 deletions
diff --git a/mac/.config/yazi/plugins.bak/diff.yazi/README.md b/mac/.config/yazi/plugins.bak/diff.yazi/README.md new file mode 100644 index 0000000..1976541 --- /dev/null +++ b/mac/.config/yazi/plugins.bak/diff.yazi/README.md @@ -0,0 +1,28 @@ +# diff.yazi + +Diff the selected file with the hovered file, create a living patch, and copy it to the clipboard. + +https://github.com/yazi-rs/plugins/assets/17523360/eff5e949-386a-44ea-82f9-4cb4a2c37aad + +## Installation + +```sh +ya pkg add yazi-rs/plugins:diff +``` + +## Usage + +Add this to your `~/.config/yazi/keymap.toml`: + +```toml +[[mgr.prepend_keymap]] +on = "<C-d>" +run = "plugin diff" +desc = "Diff the selected with the hovered file" +``` + +Make sure the <kbd>C</kbd> + <kbd>d</kbd> key is not used elsewhere. + +## License + +This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file. 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, +} |
