clean up
This commit is contained in:
parent
c59992ee52
commit
af7db2bdf0
72
fzfind.rc
72
fzfind.rc
@ -10,22 +10,9 @@
|
||||
# mirror 2: https://github.com/agvxov/fzfind
|
||||
|
||||
|
||||
[ -z "$CTRLFMODE" ] && CTRLFMODE="path"
|
||||
[ -z "$CTRLFMETHOD" ] && CTRLFMETHOD="find"
|
||||
#CTRLCACHE="/home/anon/Desktop/"
|
||||
|
||||
function ctrl_f_mode(){
|
||||
read -n 1 M
|
||||
case $M in
|
||||
p) CTRLFMODE="path";;
|
||||
u) CTRLFMODE="user";;
|
||||
o) CTRLFMODE="opt";;
|
||||
c) CTRLFMODE="cmd" ;;
|
||||
v) CTRLFMODE="var" ;;
|
||||
*) CTRLFMODE="path";;
|
||||
esac
|
||||
env echo -e "\033[1mctrl-f mode: \"\033[0m${CTRLFMODE}\""
|
||||
}
|
||||
function echo_readline_line(){
|
||||
PS1_CLEANED="${PS1//\\\[/}"
|
||||
PS1_CLEANED="${PS1_CLEANED//\\\]/}"
|
||||
@ -41,58 +28,21 @@ function ctrl_f(){
|
||||
OPX=$(lastWord "${READLINE_LINE:0:${READLINE_POINT}}")
|
||||
fi
|
||||
#echo "'$PX'"
|
||||
# Decide possible completions and use fzf for selection
|
||||
case $CTRLFMODE in
|
||||
"path")
|
||||
if [ $CTRLFMETHOD == "find" ]; then
|
||||
PX="$OPX"
|
||||
STR=$(eval find ./"$PX/" 2> /dev/null | fzf --multi=1)
|
||||
elif [ $CTRLFMETHOD == "locate" ]; then
|
||||
PX="$(realpath $PWD/$OPX)"
|
||||
STR=$(eval locate --existing --regex $PX/'.*' 2> /dev/null | fzf --multi=1)
|
||||
else
|
||||
echo -e "\033[31;1mNonsensical \033[34;1m\${CTRLFMETHOD} \033[31;1mvalue.\033[0m"
|
||||
fi
|
||||
;;
|
||||
"opt")
|
||||
#get command
|
||||
#check catche
|
||||
#parse
|
||||
;;
|
||||
"user")
|
||||
if [ "$PX" != "" ]; then
|
||||
STR="$(compgen -u ${PX} | fzf --multi=1)"
|
||||
else
|
||||
STR="$(compgen -u | fzf --multi=1)"
|
||||
fi
|
||||
;;
|
||||
"cmd")
|
||||
if [ "$PX" != "" ]; then
|
||||
STR="$(compgen -c ${PX} | uniq | fzf --multi=1)"
|
||||
else
|
||||
STR="$(compgen -c | uniq | fzf --multi=1)"
|
||||
fi
|
||||
;;
|
||||
"var")
|
||||
if [ "$PX" != "" ]; then
|
||||
STR="$(compgen -v ${PX} | fzf --multi=1)"
|
||||
else
|
||||
STR="$(compgen -v | fzf --multi=1)"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if [ $CTRLFMETHOD == "find" ]; then
|
||||
PX="$OPX"
|
||||
STR=$(eval find ./"$PX/" 2> /dev/null | fzf --multi=1)
|
||||
elif [ $CTRLFMETHOD == "locate" ]; then
|
||||
PX="$(realpath $PWD/$OPX)"
|
||||
STR=$(eval locate --existing --regex $PX/'.*' 2> /dev/null | fzf --multi=1)
|
||||
else
|
||||
echo -e "\033[31;1mNonsensical \033[34;1m\${CTRLFMETHOD} \033[31;1mvalue.\033[0m"
|
||||
fi
|
||||
# Remove ${PX}
|
||||
STR="${STR/${PX}/}"
|
||||
# Write $READLINE_LINE
|
||||
[ -z "$STR" ] && return
|
||||
if [ "$CTRLFMODE" == "path" ]; then # quote paths
|
||||
READLINE_LINE="${READLINE_LINE:0:$(expr ${READLINE_POINT} - ${#OPX})}\"${OPX}${STR}\"${READLINE_LINE:${READLINE_POINT}}" # start_til_px + '"' + px + str '"' + rest
|
||||
READLINE_POINT=$(expr ${READLINE_POINT} + ${#OPX} + ${#STR} + 2) # +2 for the '"'s
|
||||
else
|
||||
READLINE_LINE="${READLINE_LINE:0:$(expr ${READLINE_POINT} - ${#OPX})}${OPX}${STR}${READLINE_LINE:${READLINE_POINT}}" # start_til_px + px + str + rest
|
||||
READLINE_POINT=$(expr ${READLINE_POINT} + ${#OPX} + ${#STR})
|
||||
fi
|
||||
READLINE_LINE="${READLINE_LINE:0:$(expr ${READLINE_POINT} - ${#OPX})}\"${OPX}${STR}\"${READLINE_LINE:${READLINE_POINT}}" # start_til_px + '"' + px + str '"' + rest
|
||||
READLINE_POINT=$(expr ${READLINE_POINT} + ${#OPX} + ${#STR} + 2) # +2 for the '"'s
|
||||
}
|
||||
|
||||
bind -x '"\C-e": ctrl_f_mode'
|
||||
bind -x '"\C-f": ctrl_f'
|
||||
|
Loading…
x
Reference in New Issue
Block a user