|
@@ -25,35 +25,36 @@ TERMINAL="${TERMINAL:-xterm}" |
|
|
PAGER="${PAGER:-less}" |
|
|
PAGER="${PAGER:-less}" |
|
|
|
|
|
|
|
|
preview_file () { |
|
|
preview_file () { |
|
|
kill %- %+ 2>/dev/null |
|
|
kill "$(jobs -p)" 2>/dev/null |
|
|
clear |
|
|
clear |
|
|
|
|
|
|
|
|
# prevent shell pipe reuse |
|
|
|
|
|
tmpfifopath="${TMPDIR:-/tmp}/nnn-preview-tui-fifo.$$" |
|
|
|
|
|
mkfifo "$tmpfifopath" || return |
|
|
|
|
|
|
|
|
|
|
|
encoding="$(file -b --mime-encoding "$1")" |
|
|
encoding="$(file -b --mime-encoding "$1")" |
|
|
|
|
|
|
|
|
$PAGER < "$tmpfifopath" & |
|
|
if [ -d "$1" ]; then |
|
|
|
|
|
# Print directory tree |
|
|
|
|
|
|
|
|
|
|
|
cd "$1" || return |
|
|
|
|
|
|
|
|
( |
|
|
# we use a FIFO to access less PID |
|
|
exec > "$tmpfifopath" |
|
|
tmpfifopath="${TMPDIR:-/tmp}/nnn-preview-tui-fifo.$$" |
|
|
|
|
|
mkfifo "$tmpfifopath" || return |
|
|
|
|
|
|
|
|
if [ -d "$1" ]; then |
|
|
$PAGER < "$tmpfifopath" & |
|
|
# Print directory tree |
|
|
|
|
|
cd "$1" && tree |
|
|
|
|
|
elif [ "$encoding" = "binary" ] ; then |
|
|
|
|
|
# Binary file: just print filetype info |
|
|
|
|
|
echo "-------- Binary file --------" |
|
|
|
|
|
file -b "$1" |
|
|
|
|
|
else |
|
|
|
|
|
# Text file: |
|
|
|
|
|
cat "$1" |
|
|
|
|
|
fi & |
|
|
|
|
|
|
|
|
|
|
|
) |
|
|
( |
|
|
|
|
|
exec > "$tmpfifopath" |
|
|
|
|
|
tree& |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
rm "$tmpfifopath" |
|
|
rm "$tmpfifopath" |
|
|
|
|
|
elif [ "$encoding" = "binary" ] ; then |
|
|
|
|
|
# Binary file: just print filetype info |
|
|
|
|
|
echo "-------- Binary file --------" |
|
|
|
|
|
file -b "$1" |
|
|
|
|
|
else |
|
|
|
|
|
# Text file: |
|
|
|
|
|
$PAGER "$1" & |
|
|
|
|
|
fi |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if [ "$PREVIEW_MODE" ] ; then |
|
|
if [ "$PREVIEW_MODE" ] ; then |
|
|