]> Sergey Matveev's repositories - nnn.git/commitdiff
getpulgs now asks before overwriting (#385)
authorKlzXS <azszwymmvqdi@yahoo.com>
Sun, 17 Nov 2019 14:22:36 +0000 (15:22 +0100)
committerMischievous Meerkat <engineerarun@gmail.com>
Sun, 17 Nov 2019 14:22:36 +0000 (19:52 +0530)
* getpulgs now asks before overwriting

* Forgot a space

plugins/getplugs

index b7fa67d026fd03acedec9a7fa95d803e29c17cc1..e6d235f4e75a3dd26dc8eebe5114d8b6c4d29bfe 100755 (executable)
@@ -13,6 +13,25 @@ is_cmd_exists () {
     echo $?
 }
 
+merge () {
+       vimdiff $1 $2
+       cp -vRf $1 $2
+}
+
+prompt () {
+       echo "Plugin $1 already exists and is different."
+       echo -n "Keep (k), merge (m), overwrite (o) [default: k]? "
+       read operation
+
+       if [ "$operation" = "m" ]; then
+               op="merge"
+       elif [ "$operation" = "o" ]; then
+               op="cp -vRf"
+       else
+               op="true"
+       fi
+}
+
 if [ "$(is_cmd_exists sudo)" -eq "0" ]; then
     sucmd=sudo
 elif [ "$(is_cmd_exists doas)" -eq "0" ]; then
@@ -29,6 +48,19 @@ fi
 cd $CONFIG_DIR
 curl -Ls -O https://github.com/jarun/nnn/archive/master.tar.gz
 tar -zxf master.tar.gz
-cp -vRf nnn-master/plugins .
+
+cd nnn-master/plugins
+for f in *; do
+       if [ -f ../../plugins/$f ]; then
+               if [ "$(diff --brief $f ../../plugins/$f)" ]; then
+                       prompt $f
+                       $op $f ../../plugins/
+               fi
+       else
+               cp -vRf $f ../../plugins/
+       fi
+done
+cd ../..
+
 $sucmd mv -vf nnn-master/misc/nlaunch/nlaunch /usr/local/bin/
 rm -rf nnn-master/ master.tar.gz README.md