]> Sergey Matveev's repositories - nnn.git/commitdiff
add z.lua to autojump
authorhappy wang <shuizhongyueming@gmail.com>
Thu, 30 Jun 2022 03:22:36 +0000 (11:22 +0800)
committerArun Prakash Jana <engineerarun@gmail.com>
Thu, 30 Jun 2022 16:56:12 +0000 (22:26 +0530)
plugins/README.md
plugins/autojump

index 0f07309fd2493a3d71f8eac26c1e5292f538ae28..cab385042383291471dec80bd59d078fea3fcd04 100644 (file)
@@ -13,7 +13,7 @@ Plugins extend the capabilities of `nnn`. They are _executable_ scripts (or bina
 
 | Plugin (a-z) | Description [Clears selection<sup>1</sup>] | Lang | Dependencies |
 | --- | --- | --- | --- |
-| [autojump](autojump) | Navigate to dir/path | sh | [jump](https://github.com/gsamokovarov/jump)/autojump/<br>zoxide/z (needs fzf) |
+| [autojump](autojump) | Navigate to dir/path | sh | [jump](https://github.com/gsamokovarov/jump)/autojump/<br>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 |
index 21a28ea8d7ca1a288b982b19290f67287bcfc941..6a24a52f523d67a677fac4715e6477b80a715a87 100755 (executable)
@@ -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}}"