nnn/plugins/fzcd
Jan Meischner 474ad74f25
Allow absolute paths returned by fzf in fzcd plugin (#682)
* Allow absolute paths returned by fzf in fzcd plugin

* Fix issue with POSIX syntax

* Add descriptive comment

* Add comment

* Remove description

* Add new line at the end of the file

Co-authored-by: Jan Meischner <jan.meischner@verimi.com>
2020-07-21 13:27:56 +05:30

38 lines
701 B
Bash
Executable file

#!/usr/bin/env sh
# Description: Run fzf and go to the directory of the file selected
#
# Shell: POSIX compliant
# Author: Anna Arad
. "$(dirname "$0")"/.nnn-plugin-helper
if [ "$(cmd_exists fzf)" -eq "0" ]; then
sel=$(fzf)
else
exit 1
fi
if [ -n "$sel" ]; then
if ! [ -d "$sel" ]; then
sel=$(dirname "$sel")
elif [ "$sel" = "." ]; then
exit 0
fi
# Check if selected path returned
# by fzf command is absolute
case $sel in
/*) nnn_cd "$sel" ;;
*)
# Remove "./" prefix if it exists
sel="${sel#./}"
if [ "$PWD" = "/" ]; then
nnn_cd "/$sel"
else
nnn_cd "$PWD/$sel"
fi;;
esac
fi