mirror of
https://github.com/jarun/nnn.git
synced 2024-12-01 02:49:44 +00:00
9afd7cf3bf
* Implement plugins control of nnn + plugins * Refactor plugins control code and fix getplugs to recognize hidden files * Fix bug when going to dir on non-current context from plugin * Fix some plugins to work on openbsd and freebsd * Renamings * Switch to -R flag in cp instead of -r; BSDs complain * Change braces of function location * Rewrite plugin creation in README and add new plugins to the table * Update the fzcd script to include fzy or fzf * Change plugin name resolve-link-dir -> lncd * Fixing plugins README table * Remove some cd plugins but add them as examples to plugins README
33 lines
571 B
Bash
Executable file
33 lines
571 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 fzy)" -eq "0" ]; then
|
|
if [ "$(cmd_exists fd)" -eq "0" ]; then
|
|
fd=fd
|
|
elif [ "$(cmd_exists fdfind)" -eq "0" ]; then
|
|
fd=fdfind
|
|
else
|
|
fd=find
|
|
fi
|
|
|
|
sel=$($fd | fzy)
|
|
elif [ "$(cmd_exists fzf)" -eq "0" ]; then
|
|
sel=$(fzf --print0)
|
|
else
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$?" -eq "0" ]; then
|
|
case "$(file -bi "$sel")" in
|
|
*directory*) ;;
|
|
*) sel=$(dirname $sel) ;;
|
|
esac
|
|
nnn_cd "$PWD/$sel"
|
|
fi
|