]> Sergey Matveev's repositories - nnn.git/commitdiff
Support directory diff
authorArun Prakash Jana <engineerarun@gmail.com>
Sun, 26 May 2019 02:06:24 +0000 (07:36 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sun, 26 May 2019 04:57:09 +0000 (10:27 +0530)
plugins/README.md
plugins/ndiff

index bcaedf6c0e63f816af0b35cd1b95a9c2b0243908..107bf992373bb917cac437c894805ff94e554766 100644 (file)
@@ -9,7 +9,7 @@
 | 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 |
index fad28adbc66c84e9534bdc46a94080a3428c7080..46e829a7a4b615b38227e46f84229db1cc1130bd 100755 (executable)
@@ -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