diff options
author | Dylan Araps <dylan.araps@gmail.com> | 2019-01-05 10:35:23 +0200 |
---|---|---|
committer | Dylan Araps <dylan.araps@gmail.com> | 2019-01-05 10:35:23 +0200 |
commit | 3708d64e7d5889bb9f45c5952b869b2b8fe01fce (patch) | |
tree | 338799667de33bd27919496e428478e54ce9a985 | |
parent | 1e8dff64dd839834ebba9a9dc523387ac9269fb4 (diff) |
instant as you type search
-rwxr-xr-x | fff | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -57,14 +57,12 @@ prompt() { mv "${f[l]}" "$FFF_TRASH"; ((l>0?l--:l)); } ;; n) read -rp "mkdir: "; [[ $REPLY ]] && mkdir -p "$PWD/$REPLY" ;; f) read -rp "mkfile: "; [[ $REPLY ]] && : > "$PWD/$REPLY" ;; - /) - g="$PWD"; read -n 1 -rp $'\e[2K\r'"/$sr2" sr - [[ $sr != $'\e' ]] && { - [[ $sr == $'\177' ]] && sr2="${sr2::-1}" || sr2+="$sr" - [[ -z $sr2 ]] && get_dir || f=("$PWD"/*"$sr2"*) - l=0; refresh; f_print; [[ $sr ]] && prompt / - sr2=; return - } + /) g="$PWD"; read -n 1 -rsp $'\e[2K\r'"/$s2" s1 + [[ $s1 != $'\e' ]] && { + [[ $s1 == $'\177' ]] && s2="${s2%?}" || s2+="$s1" + [[ -z $s2 ]] && get_dir || f=("$PWD"/*"$s2"*) + l=0; refresh; f_print; [[ $s1 ]] && prompt /; s2=; return + } esac refresh; get_dir } |