aboutsummaryrefslogtreecommitdiff
path: root/dot_config/fish/functions/zi.fish
blob: c52966280e85d2c13c082f53b09fc627b4bc8f20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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