aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xplugins/.nmv8
-rw-r--r--src/nnn.c7
2 files changed, 11 insertions, 4 deletions
diff --git a/plugins/.nmv b/plugins/.nmv
index 8b080ae..b89842f 100755
--- a/plugins/.nmv
+++ b/plugins/.nmv
@@ -26,6 +26,10 @@ dst_file=$(mktemp "$TMPDIR/.nnnXXXXXX")
if [ -s "$selection" ]; then
printf "Rename 'c'urrent / 's'election? "
read -r resp
+
+ if ! [ "$resp" = "c" ] && ! [ "$resp" = "s" ]; then
+ exit 1
+ fi
fi
if [ "$resp" = "s" ]; then
@@ -96,7 +100,7 @@ while read -r num name; do
printf "%s: failed to rename %s to %s: %s\n" "$0" "$name" "$tmp" "$!" > /dev/stderr
exit_status=1
fi
-
+
for key in "${!items[@]}"; do
if [ "${items[$key]}" = "$name" ]; then
items[$key]="$tmp"
@@ -116,7 +120,7 @@ while read -r num name; do
for key in "${!items[@]}"; do
items[$key]=$(printf "%s" "${items[$key]}" | sed "s|^$src\(\$\|\/\)|$name\1|")
done
-
+
printf "'%s' => '%s'\n" "$src" "$name"
else
printf "'%s' -> '%s'\n" "$src" "$name"
diff --git a/src/nnn.c b/src/nnn.c
index 1e0933e..2810e0c 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -431,7 +431,8 @@ static uchar g_states;
#define UTIL_FZY 16
#define UTIL_NTFY 17
#define UTIL_CBCP 18
-#define UTIL_NMV 19
+#define UTIL_BASH 19
+#define UTIL_NMV 20
/* Utilities to open files, run actions */
static char * const utils[] = {
@@ -470,6 +471,7 @@ static char * const utils[] = {
"fzy",
".ntfy",
".cbcp",
+ "bash",
".nmv",
};
@@ -5610,7 +5612,8 @@ nochange:
case SEL_RENAMEMUL:
endselection();
- if (!plugscript(utils[UTIL_NMV], newpath, path, F_CLI)
+ if (!(getutil(utils[UTIL_BASH])
+ && plugscript(utils[UTIL_NMV], newpath, path, F_CLI))
&& !batch_rename(path)) {
printwait(messages[MSG_FAILED], &presel);
goto nochange;