# ais - ai selector (Rust) # unified fuzzy finder replacing cdselect/fileselect/histselect # requires: ais binary in PATH if ! command -v ais &>/dev/null; then return fi # C-j: directory selector ais-cd() { local dir=$(ais cd) if [[ -n "$dir" ]]; then cd "$dir" fi zle reset-prompt } zle -N ais-cd bindkey '^j' ais-cd # C-f: file selector -> insert into buffer ais-file() { local file=$(ais file) if [[ -n "$file" ]]; then BUFFER+="$file" CURSOR=${#BUFFER} fi zle reset-prompt } zle -N ais-file bindkey '^f' ais-file # C-r: history selector -> insert into buffer ais-hist() { local cmd=$(ais hist) if [[ -n "$cmd" ]]; then BUFFER="$cmd" CURSOR=${#BUFFER} fi zle reset-prompt } zle -N ais-hist bindkey '^r' ais-hist