if ! builtin functions --query __zoxide_cd_internal string replace --regex -- '^function cd\s' 'function __zoxide_cd_internal ' <$__fish_data_dir/functions/cd.fish | source end function __zoxide_cd if set -q __zoxide_loop builtin echo "zoxide: infinite loop detected" builtin echo "Avoid aliasing `cd` to `z` directly, use `zoxide init --cmd=cd fish` instead" return 1 end __zoxide_loop=1 __zoxide_cd_internal $argv end # Jump to a directory using interactive search. function zi set -l result (command zoxide query --interactive -- $argv) and __zoxide_cd $result end