Files
TerminalPolyjuice/zsh/alias/interactive_cd.sh
2026-01-26 14:31:04 +08:00

20 lines
588 B
Bash

function cdi() {
selected_dir=""
if (( $+commands[fzf] )); then
if (( $+commands[fd] )); then
if [[ $1 == "-I" ]]; then
selected_dir=$(fd --type d --hidden --no-ignore --exclude .git | fzf)
else
selected_dir=$(fd --type d --hidden --exclude .git | fzf)
fi
else
selected_dir=$(find . -type d -name '.git' -prune -o -type d -print | fzf)
fi
if [[ -n $selected_dir ]]; then
cd $selected_dir
fi
else
echo "[fzf] is not installed"
fi
}