@ -1443,15 +1443,15 @@ xplr.config.modes.builtin.selection_ops = {
{
BashExec0 = [ === [
TMPFILE = " $(mktemp) "
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
echo $ ( printf % q " ${PTH:?} " ) >> " ${TMPFILE:?} "
done < " ${XPLR_PIPE_SELECTION_OUT:?} " )
done < " ${XPLR_PIPE_SELECTION_OUT:?} "
$ { EDITOR : - vi } " ${TMPFILE:?} "
[ ! - e " $TMPFILE " ] && exit
" $XPLR " - m ClearSelection
( while IFS = read - r PTH_ESC ; do
while IFS = read - r PTH_ESC ; do
" $XPLR " - m ' SelectPath: %q ' " $(eval printf %s ${PTH_ESC:?}) "
done < " ${TMPFILE:?} " )
done < " ${TMPFILE:?} "
rm -- "${TMPFILE:?}"
] === ] ,
} ,
@ -1479,22 +1479,35 @@ xplr.config.modes.builtin.selection_ops = {
{
BashExec0 = [ === [
" $XPLR " - m ExplorePwd
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
PTH_ESC = $ ( printf % q " $PTH " )
BASENAME = $ ( basename -- "$PTH")
BASENAME_ESC = $ ( printf % q " $BASENAME " )
while [ - e " $BASENAME " ] ; do
BASENAME = " $BASENAME (copied) "
if [ - e " $BASENAME " ] ; then
echo
echo " $BASENAME_ESC exists, do you want to overwrite it? "
read - p " [y]es, [n]o, [S]kip: " ANS < / dev / tty
case " $ANS " in
[ yY ] * )
; ;
[ nN ] * )
read - p " Enter new name: " BASENAME < / dev / tty
BASENAME_ESC = $ ( printf % q " $BASENAME " )
done
; ;
* )
continue
; ;
esac
fi
if cp - vr -- "${PTH:?}" "./${BASENAME:?}"; then
" $XPLR " - m ' LogSuccess: %q ' " $PTH_ESC copied to ./$BASENAME_ESC "
" $XPLR " - m ' FocusPath: %q ' " $BASENAME "
else
" $XPLR " - m ' LogError: %q ' " could not copy $PTH_ESC to ./$BASENAME_ESC "
fi
done < " ${XPLR_PIPE_SELECTION_OUT:?} " )
read - p " [enter to continue] "
done < " ${XPLR_PIPE_SELECTION_OUT:?} "
echo
read - p " [press enter to continue] "
] === ] ,
} ,
" PopMode " ,
@ -1506,22 +1519,35 @@ xplr.config.modes.builtin.selection_ops = {
{
BashExec0 = [ === [
" $XPLR " - m ExplorePwd
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
PTH_ESC = $ ( printf % q " $PTH " )
BASENAME = $ ( basename -- "$PTH")
BASENAME_ESC = $ ( printf % q " $BASENAME " )
while [ - e " $BASENAME " ] ; do
BASENAME = " $BASENAME (moved) "
if [ - e " $BASENAME " ] ; then
echo
echo " $BASENAME_ESC exists, do you want to overwrite it? "
read - p " [y]es, [n]o, [S]kip: " ANS < / dev / tty
case " $ANS " in
[ yY ] * )
; ;
[ nN ] * )
read - p " Enter new name: " BASENAME < / dev / tty
BASENAME_ESC = $ ( printf % q " $BASENAME " )
done
; ;
* )
continue
; ;
esac
fi
if mv - v -- "${PTH:?}" "./${BASENAME:?}"; then
" $XPLR " - m ' LogSuccess: %q ' " $PTH_ESC moved to ./$BASENAME_ESC "
" $XPLR " - m ' FocusPath: %q ' " $BASENAME "
else
" $XPLR " - m ' LogError: %q ' " could not move $PTH_ESC to ./$BASENAME_ESC "
fi
done < " ${XPLR_PIPE_SELECTION_OUT:?} " )
read - p " [enter to continue] "
done < " ${XPLR_PIPE_SELECTION_OUT:?} "
echo
read - p " [press enter to continue] "
] === ] ,
} ,
" PopMode " ,
@ -1533,22 +1559,35 @@ xplr.config.modes.builtin.selection_ops = {
{
BashExec0 = [ === [
" $XPLR " - m ExplorePwd
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
PTH_ESC = $ ( printf % q " $PTH " )
BASENAME = $ ( basename -- "$PTH")
BASENAME_ESC = $ ( printf % q " $BASENAME " )
while [ - e " $BASENAME " ] ; do
BASENAME = " $BASENAME (softlinked) "
if [ - e " $BASENAME " ] ; then
echo
echo " $BASENAME_ESC exists, do you want to overwrite it? "
read - p " [y]es, [n]o, [S]kip: " ANS < / dev / tty
case " $ANS " in
[ yY ] * )
; ;
[ nN ] * )
read - p " Enter new name: " BASENAME < / dev / tty
BASENAME_ESC = $ ( printf % q " $BASENAME " )
done
; ;
* )
continue
; ;
esac
fi
if ln - sv -- "${PTH:?}" "./${BASENAME:?}"; then
" $XPLR " - m ' LogSuccess: %q ' " $PTH_ESC softlinked as ./$BASENAME_ESC "
" $XPLR " - m ' FocusPath: %q ' " $BASENAME "
else
" $XPLR " - m ' LogError: %q ' " could not softlink $PTH_ESC as ./$BASENAME_ESC "
fi
done < " ${XPLR_PIPE_SELECTION_OUT:?} " )
read - p " [enter to continue] "
done < " ${XPLR_PIPE_SELECTION_OUT:?} "
echo
read - p " [press enter to continue] "
] === ] ,
} ,
" PopMode " ,
@ -1560,22 +1599,35 @@ xplr.config.modes.builtin.selection_ops = {
{
BashExec0 = [ === [
" $XPLR " - m ExplorePwd
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
PTH_ESC = $ ( printf % q " $PTH " )
BASENAME = $ ( basename -- "$PTH")
BASENAME_ESC = $ ( printf % q " $BASENAME " )
while [ - e " $BASENAME " ] ; do
BASENAME = " $BASENAME (hardlinked) "
if [ - e " $BASENAME " ] ; then
echo
echo " $BASENAME_ESC exists, do you want to overwrite it? "
read - p " [y]es, [n]o, [S]kip: " ANS < / dev / tty
case " $ANS " in
[ yY ] * )
; ;
[ nN ] * )
read - p " Enter new name: " BASENAME < / dev / tty
BASENAME_ESC = $ ( printf % q " $BASENAME " )
done
; ;
* )
continue
; ;
esac
fi
if ln - v -- "${PTH:?}" "./${BASENAME:?}"; then
" $XPLR " - m ' LogSuccess: %q ' " $PTH_ESC hardlinked as ./$BASENAME_ESC "
" $XPLR " - m ' FocusPath: %q ' " $BASENAME "
else
" $XPLR " - m ' LogError: %q ' " could not hardlink $PTH_ESC as ./$BASENAME_ESC "
fi
done < " ${XPLR_PIPE_SELECTION_OUT:?} " )
read - p " [enter to continue] "
done < " ${XPLR_PIPE_SELECTION_OUT:?} "
echo
read - p " [press enter to continue] "
] === ] ,
} ,
" PopMode " ,
@ -1812,9 +1864,9 @@ xplr.config.modes.builtin.go_to = {
exit 1
fi
fi
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
$ OPENER " ${PTH:?} " > / dev / null 2 >& 1
done < " ${XPLR_PIPE_RESULT_OUT:?} " )
done < " ${XPLR_PIPE_RESULT_OUT:?} "
] === ] ,
} ,
" ClearScreen " ,
@ -1926,8 +1978,14 @@ xplr.config.modes.builtin.delete = {
messages = {
{
BashExec0 = [ === [
cat " ${XPLR_PIPE_RESULT_OUT:?} " | xargs - 0 printf ' %q \n '
echo
read - p " Permanently delete these files? [Y/n]: " ANS
[ " ${ANS:-Y} " = " Y " ] || [ " $ANS " = " y " ] || exit 0
echo
" $XPLR " - m ExplorePwd
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
PTH_ESC = $ ( printf % q " $PTH " )
if rm - rfv -- "${PTH:?}"; then
" $XPLR " - m ' LogSuccess: %q ' " $PTH_ESC deleted "
@ -1935,8 +1993,9 @@ xplr.config.modes.builtin.delete = {
" $XPLR " - m ' LogError: %q ' " could not delete $PTH_ESC "
" $XPLR " - m ' FocusPath: %q ' " $PTH "
fi
done < " ${XPLR_PIPE_RESULT_OUT:?} " )
read - p " [enter to continue] "
done < " ${XPLR_PIPE_RESULT_OUT:?} "
echo
read - p " [press enter to continue] "
] === ] ,
} ,
" PopMode " ,
@ -1947,8 +2006,14 @@ xplr.config.modes.builtin.delete = {
messages = {
{
BashExec0 = [ === [
cat " ${XPLR_PIPE_RESULT_OUT:?} " | xargs - 0 printf ' %q \n '
echo
read - p " Permanently delete these files? [Y/n]: " ANS
[ " ${ANS:-Y} " = " Y " ] || [ " $ANS " = " y " ] || exit 0
echo
" $XPLR " - m ExplorePwd
( while IFS = read - r - d ' ' PTH ; do
while IFS = read - r - d ' ' PTH ; do
PTH_ESC = $ ( printf % q " $PTH " )
if [ - d " $PTH " ] && [ ! - L " $PTH " ] ; then
if rmdir - v -- "${PTH:?}"; then
@ -1965,8 +2030,9 @@ xplr.config.modes.builtin.delete = {
" $XPLR " - m ' FocusPath: %q ' " $PTH "
fi
fi
done < " ${XPLR_PIPE_RESULT_OUT:?} " )
read - p " [enter to continue] "
done < " ${XPLR_PIPE_RESULT_OUT:?} "
echo
read - p " [press enter to continue] "
] === ] ,
} ,
" PopMode " ,