diff options
author | Nick Waywood <nwaywood@au1.ibm.com> | 2020-04-02 16:24:24 +1100 |
---|---|---|
committer | Arun Prakash Jana <engineerarun@gmail.com> | 2020-04-02 10:58:54 +0530 |
commit | 415a6edd4a553d2ecf3b2b26b79ab844473127a3 (patch) | |
tree | f0b81dfe2db23ef0f67ca912248e63788943e665 | |
parent | 553f183919e2326f485eb2cc16309c60b0c3b7a7 (diff) | |
download | nnn-415a6edd4a553d2ecf3b2b26b79ab844473127a3.tar.gz |
Added support for fzy (#505)
* Added fzfz plugin
* Fixed shellcheck errors
* Fixed copy/paste error
* Added support for fzy, also renamed plugin since it's not specific to fzf anymore
* Refactored code
* Clean spillovers (jarun)
-rw-r--r-- | plugins/README.md | 2 | ||||
-rwxr-xr-x | plugins/fzfz | 23 | ||||
-rwxr-xr-x | plugins/fzz | 27 |
3 files changed, 28 insertions, 24 deletions
diff --git a/plugins/README.md b/plugins/README.md index 156e786..f46b8ce 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -33,9 +33,9 @@ Plugins are installed to `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins`. | diffs | Diff for selection (limited to 2 for directories) | sh | vimdiff | | dragdrop | Drag/drop files from/into nnn | sh | [dragon](https://github.com/mwh/dragon) | | fzcd | Change to the directory of a fuzzy-selected file/dir | sh | fzf/fzy<br>fd/fdfind/find | -| fzfz | Change to any directory in the z database with fzf | sh | fzf, z | | fzhist | Fuzzy-select a cmd from history, edit in `$EDITOR` and run | sh | fzf/fzy | | fzopen | Fuzzy find a file in dir subtree and edit or open | sh | fzf/fzy, xdg-open | +| fzz | Change to any directory in the z database with fzf/fzy | sh | fzf/fzy, z | | getplugs | Update plugins | sh | curl | | gutenread | Browse, download, read from Project Gutenberg | sh | curl, unzip, w3m<br>[epr](https://github.com/wustho/epr) (optional) | | hexview | View a file in hex in `$PAGER` | sh | xxd | diff --git a/plugins/fzfz b/plugins/fzfz deleted file mode 100755 index cb5e08a..0000000 --- a/plugins/fzfz +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env sh - -# Description: cd to any dir in the z database using an fzf pane -# -# Shell: POSIX compliant -# Author: Nick Waywood - -. "$(dirname "$0")"/.nnn-plugin-helper - -if [ "$(cmd_exists fzf)" -eq "0" ]; then - if [ -f "$HOME/.z" ]; then - # I read the data from z's file instead of calling the z command so that the data doesn't need to be processed twice - sel=$(awk -F "|" '{print $1}' "$HOME/.z" | fzf | awk '{$1=$1};1') - # NOTE: Uncomment this line and comment out the line above if you want to see the weightings of the dir's in the fzf pane - # sel=$(awk -F "|" '{printf "%s %s\n", $2, $1}' "$HOME/.z" | fzf | sed 's/^[0-9,.]* *//' | awk '{$1=$1};1') - else - exit 1 - fi -else - exit 1 -fi - -printf "%s" "0$sel" > "$NNN_PIPE" diff --git a/plugins/fzz b/plugins/fzz new file mode 100755 index 0000000..f84a064 --- /dev/null +++ b/plugins/fzz @@ -0,0 +1,27 @@ +#!/usr/bin/env sh + +# Description: cd to any dir in the z database using an fzf pane +# +# Shell: POSIX compliant +# Author: Nick Waywood + +. "$(dirname "$0")"/.nnn-plugin-helper + +if which fzf >/dev/null 2>&1; then + fuzzy=fzf +elif which fzy >/dev/null 2>&1; then + fuzzy=fzy +else + exit 1 +fi + +if [ -f "$HOME/.z" ]; then + # I read the data from z's file instead of calling the z command so that the data doesn't need to be processed twice + sel=$(awk -F "|" '{print $1}' "$HOME/.z" | "$fuzzy" | awk '{$1=$1};1') + # NOTE: Uncomment this line and comment out the line above if you want to see the weightings of the dir's in the fzf/fzy pane + # sel=$(awk -F "|" '{printf "%s %s\n", $2, $1}' "$HOME/.z" | "$fuzzy" | sed 's/^[0-9,.]* *//' | awk '{$1=$1};1') +else + exit 1 +fi + +printf "%s" "0$sel" > "$NNN_PIPE" |