fish-shell/share/functions/cd.fish
2010-09-18 10:18:26 +08:00

36 lines
621 B
Fish

#
# The following functions add support for a directory history
#
function cd --description "Change directory"
# Skip history in subshells
if status --is-command-substitution
builtin cd $argv
return $status
end
# Avoid set completions
set -l previous $PWD
if test $argv[1] = - ^/dev/null
if test "$__fish_cd_direction" = next ^/dev/null
nextd
else
prevd
end
return $status
end
builtin cd $argv[1]
set -l cd_status $status
if test $cd_status = 0 -a "$PWD" != "$previous"
set -g dirprev $dirprev $previous
set -e dirnext
set -g __fish_cd_direction prev
end
return $cd_status
end