summaryrefslogtreecommitdiff
path: root/config/essentials
diff options
context:
space:
mode:
Diffstat (limited to 'config/essentials')
-rw-r--r--config/essentials/zsh/functions.zsh21
1 files changed, 14 insertions, 7 deletions
diff --git a/config/essentials/zsh/functions.zsh b/config/essentials/zsh/functions.zsh
index 053ce8e..c4999db 100644
--- a/config/essentials/zsh/functions.zsh
+++ b/config/essentials/zsh/functions.zsh
@@ -39,23 +39,30 @@ nnn() { test -z "$NNNLVL" && /usr/bin/nnn "$@" || exit }
ranger() { test -z "$RANGER_LEVEL" && /usr/bin/ranger "$@" || exit }
# googoo aliases
-ff () { goo f "$1" }
-fd () { goo d "$1" }
-fdf () { goo f "$1" | xargs -I {} dirname "{}" }
+_googoo_fzf_opt ()
+{
+ if [ "$1" ]
+ then
+ [ -d "$1" ] && dest="$1" || opt="-q $1"
+ fi
+}
o ()
{
- f="$(ff $1)"
+ _googoo_fzf_opt "$1"
+ f="$(goo f "dest" | fzf $opt)"
test "$1" && shift
- test -n "$f" && $EDITOR $@ "$f"
+ test -f "$f" && $EDITOR $@ "$f"
}
go ()
{
- d="$(fd $1)"
+ _googoo_fzf_opt "$1"
+ d="$(goo d "$dest" | fzf $opt)"
test -d "$d" && cd "$d"
}
ogo ()
{
- d="$(fdf $1)"
+ _googoo_fzf_opt "$1"
+ d="$(dirname "$(goo f "$dest")" | fzf $opt)"
test -d "$d" && cd "$d"
}