dotfiles/.config/shell/rc.d/fuzzy-finding.sh
Marty Oehme 900b949a7a Move fuzzy history search, Add missing fuzzy warns
Moved zhfind command to fuzzy finding since it relies on sk to be
present. Added some preliminary warnings if sk is not on the system.
2019-06-17 18:30:19 +02:00

39 lines
1.4 KiB
Bash

#!/bin/sh
# check for existence of fuzzy finders. If found, substitute fzf with it.
# order is skim > fzy > fzf > nothing
if type sk >/dev/null 2>&1; then
alias fzf=sk
elif type fzy >/dev/null 2>&1; then
echo "[WARNING]: fzy found as fuzzy finder - install sk to use full script functionality"
alias fzf=fzy
elif type fzf >/dev/null 2>&1; then
echo "[WARNING]: fzf found as fuzzy finder - install sk to use full script functionality"
alias fzf=fzf
else
echo "[WARNING]: No fuzzy finder found - install sk to enable functionality"
fi
# check for existence of greplikes. If found, substitute fzf with it.
# order is skim > fzy > fzf > nothing
if type rg >/dev/null 2>&1; then
alias rg=rg
elif type ag >/dev/null 2>&1; then
alias rg=ag
elif type ack >/dev/null 2>&1; then
alias rg=ack
else
echo "[WARNING]: No grep-like found - install rg/ag/ack to enable functionality"
fi
# set up fuzzy file and directory search
# TODO still uses rifle (from ranger fm) - decide whether to keep it or not
alias f="fzf -c 'find . -type f' --preview='head -$LINES {}' | xargs rifle"
alias F="fzf -c 'find ~ -type f' --preview='head -$LINES {}' | xargs rifle"
alias d="fzf -c 'find . -type d' --preview='ls --color='always' {}' | xargs rifle"
alias D="fzf -c 'find ~ -type d' --preview='ls --color='always' {}' --color=dark --ansi | xargs rifle"
# Display fuzzy-searchable history
alias zhfind="history | fzf --tac --height 20"