diff --git a/plugins/README.md b/plugins/README.md index 0f07309f..cab38504 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -13,7 +13,7 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina | Plugin (a-z) | Description [Clears selection1] | Lang | Dependencies | | --- | --- | --- | --- | -| [autojump](autojump) | Navigate to dir/path | sh | [jump](https://github.com/gsamokovarov/jump)/autojump/
zoxide/z (needs fzf) | +| [autojump](autojump) | Navigate to dir/path | sh | [jump](https://github.com/gsamokovarov/jump)/autojump/
zoxide/z/[z.lua](https://github.com/skywind3000/z.lua) | | [boom](boom) | Play random music from dir | sh | [moc](http://moc.daper.net/) | | [bulknew](bulknew) | Create multiple files/dirs at once | bash | sed, xargs, mktemp | | [cdpath](cdpath) | `cd` to the directory from `CDPATH` | sh | fzf | diff --git a/plugins/autojump b/plugins/autojump index 21a28ea8..6a24a52f 100755 --- a/plugins/autojump +++ b/plugins/autojump @@ -8,9 +8,12 @@ # - OR zoxide - https://github.com/ajeetdsouza/zoxide # - OR z - https://github.com/rupa/z (z requires fzf) # - OR z (fish) - https://github.com/jethrokuan/z (z requires fzf) +# - OR z.lua - https://github.com/skywind3000/z.lua (z.lua can enhanced with fzf) # # Note: The dependencies STORE NAVIGATION PATTERNS # +# to make z.lua work, you need to set $NNN_ZLUA to the path of script z.lua +# # Shell: POSIX compliant # Authors: Marty Buchaus, Dave Snider, Tim Adler, Nick Waywood @@ -41,6 +44,16 @@ elif type zoxide >/dev/null 2>&1; then odir="$(zoxide query -- "$dir")" printf "%s" "0c$odir" > "$NNN_PIPE" fi +elif type lua >/dev/null 2>&1 && [ -n "$NNN_ZLUA" ]; then + printf "jump to : " + read -r line + if type fzf >/dev/null 2>&1; then + odir="$(lua "$NNN_ZLUA" -l "$line" | fzf --nth 2.. --reverse --inline-info --tac +s -e --height 35%)" + printf "%s" "0c$(echo "$odir" | awk '{print $2}')" > "$NNN_PIPE" + else + odir="$(lua "$NNN_ZLUA" -e "$line")" + printf "%s" "0c$odir" > "$NNN_PIPE" + fi else # rupa/z uses $_Z_DATA, jethrokuan/z (=port of z for fish) uses $Z_DATA datafile="${_Z_DATA:-${Z_DATA:-$HOME/.z}}"