diff options
| -rwxr-xr-x | plugins/.nmv | 8 | ||||
| -rw-r--r-- | src/nnn.c | 7 |
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" @@ -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; |