commit ea2de804f8ffa524ec62e6098b986792d1e83044
parent 03e6d7d553e6024d26b7ce51927c97f40e09925a
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sun, 15 Mar 2020 20:26:53 +0530
batch rename: check dep, handle invalid input
Diffstat:
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git 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
@@ -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;