summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan Araps <dylan.araps@gmail.com>2019-01-05 10:35:23 +0200
committerDylan Araps <dylan.araps@gmail.com>2019-01-05 10:35:23 +0200
commit3708d64e7d5889bb9f45c5952b869b2b8fe01fce (patch)
tree338799667de33bd27919496e428478e54ce9a985
parent1e8dff64dd839834ebba9a9dc523387ac9269fb4 (diff)
instant as you type search
-rwxr-xr-xfff14
1 files changed, 6 insertions, 8 deletions
diff --git a/fff b/fff
index 48222cd..ce20843 100755
--- a/fff
+++ b/fff
@@ -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
}