plugins/README.md | 2 +- plugins/ndiff | 14 ++++++++++---- diff --git a/plugins/README.md b/plugins/README.md index bcaedf6c0e63f816af0b35cd1b95a9c2b0243908..107bf992373bb917cac437c894805ff94e554766 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -9,7 +9,7 @@ | imgresize | sh | [imgp](https://github.com/jarun/imgp) | Resize images in directory to screen resolution | | imgur | bash | - | Upload an image to imgur (from [imgur-screenshot](https://github.com/jomo/imgur-screenshot)) | | ipinfo | sh | curl, whois | Fetch external IP address and whois information | | kdeconnect | sh | kdeconnect-cli | Send selected files to an Android device | -| ndiff | sh | vimdiff | Show diff for selection | +| ndiff | bash | vimdiff | Diff for selection (limited to 2 for directories) | | nmount | sh | pmount | Toggle mount status of a device as normal user | | nwal | sh | nitrogen | Set the selected image as wallpaper using nitrogen | | pastebin | sh | [pastebinit](https://launchpad.net/pastebinit) | Paste contents of current (text) file to paste.ubuntu.com | diff --git a/plugins/ndiff b/plugins/ndiff index fad28adbc66c84e9534bdc46a94080a3428c7080..46e829a7a4b615b38227e46f84229db1cc1130bd 100755 --- a/plugins/ndiff +++ b/plugins/ndiff @@ -1,8 +1,14 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash -# Description: Show diff using vimdiff +# Description: Show diff of 2 directories or multiple files in vimdiff # -# Shell: POSIX compliant +# Shell: Bash # Author: Arun Prakash Jana -vimdiff $(cat ~/.config/nnn/.selection | tr '\0' '\n') +arr=($(cat ~/.config/nnn/.selection | tr '\0' '\n')) + +if [ -d "${arr[0]}" ] && [ -d "${arr[1]}" ]; then + vimdiff <(cd ${arr[0]} && find | sort) <(cd ${arr[1]} && find | sort) +else + vimdiff "${arr[@]}" +fi