2 local cmd="" exact="" longer="" wordStart="" wordEnd="" multiWordEnd=""
5 -e|--exact) exact=true;;
6 -l|--longer) longer=true;;
16 cmd=$(sed 's/[].\|$(){}?+*^[]/\\&/g' <<< $cmd) # adds escaping for grep
17 if (( $(wc -l <<< $cmd) == 1 )); then
18 while [[ $cmd != "" ]]; do
19 if [[ $longer = true ]]; then
25 if [[ $cmd == *" "* ]]; then
26 local finder="'$cmd$multiWordEnd"
28 local finder=$wordStart$cmd$wordEnd
30 alias | grep -E "=$finder"
31 if [[ $exact = true || $longer = true ]]; then
34 cmd=$(sed -E 's/ {0,1}[^ ]*$//' <<< $cmd) # removes last word
40 preexec_alias-finder() {
41 if [[ $ZSH_ALIAS_FINDER_AUTOMATIC = true ]]; then
46 autoload -U add-zsh-hook
47 add-zsh-hook preexec preexec_alias-finder