nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 20e0c492928360e21e4a7862540526a7960ecdc9
parent 7ce5bbcdf792cfc1a34e6e7e401b0fc5fe66d080
Author: KlzXS <klzx+github@klzx.cf>
Date:   Sun, 20 Jun 2021 22:09:45 +0200

Replace fd dependency with find (#1078)

Diffstat:
Mplugins/README.md | 2+-
Mplugins/fzcd | 12+++++++-----
2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/plugins/README.md b/plugins/README.md @@ -25,7 +25,7 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina | [dups](dups) | List non-empty duplicate files in current dir | bash | find, md5sum,<br>sort uniq xargs | | [finder](finder) | Run custom find command and list | sh | - | | [fixname](fixname) | Clean filename to be more shell-friendly [✓] | bash | sed | -| [fzcd](fzcd) | Fuzzy search multiple dirs (or `$PWD`) and visit file | sh | fzf, (fd) | +| [fzcd](fzcd) | Fuzzy search multiple dirs (or `$PWD`) and visit file | sh | fzf, (find) | | [fzhist](fzhist) | Fuzzy-select a cmd from history, edit in `$EDITOR` and run | sh | fzf, mktemp | | [fzopen](fzopen) | Fuzzy find file(s) in subtree to edit/open/pick | sh | fzf, xdg-open/open | | [fzplug](fzplug) | Fuzzy find, preview and run other plugins | sh | fzf | diff --git a/plugins/fzcd b/plugins/fzcd @@ -2,7 +2,7 @@ # Description: Fuzzy search multiple locations read-in from a path-list file # (or $PWD) and open the selected file's dir in a smart context. -# Dependencies: fzf, fd (only for multi-location search) +# Dependencies: fzf, find (only for multi-location search) # # Details: Paths in list file should be newline-separated absolute paths. # Paths can be file paths; the script will scan the parent dirs. @@ -18,7 +18,7 @@ # - OR, edit selection in nnn and save as path-list file # # Shell: POSIX compliant -# Author: Anna Arad, Arun Prakash Jana +# Author: Anna Arad, Arun Prakash Jana, KlzXS IFS="$(printf '\n\r')" @@ -44,7 +44,7 @@ elif ! [ -s "$LIST" ]; then fi if [ -n "$LIST" ]; then - if type fd >/dev/null 2>&1; then + if type find >/dev/null 2>&1; then tmpfile=$(mktemp /tmp/abc-script.XXXXXX) while IFS= read -r path; do @@ -55,11 +55,13 @@ if [ -n "$LIST" ]; then fi done < "$LIST" - sel=$(xargs -d '\n' -a "$tmpfile" fd -H . | fzf --delimiter / --tiebreak=begin --info=hidden) + sel=$(xargs -d '\n' -a "$tmpfile" -I{} find {} -type f -printf "%H//%P\n" | sed '/.*\/\/\(\..*\|.*\/\..*\)/d; s:/\+:/:g' | fzf --delimiter / --tiebreak=begin --info=hidden) + # Alternative for 'fd' + # sel=$(xargs -d '\n' -a "$tmpfile" fd . | fzf --delimiter / --tiebreak=begin --info=hidden) rm "$tmpfile" else - printf "fd missing" + printf "find missing" read -r _ exit 1 fi