fish-shell/share/functions/cd.fish
axel 1123467991 Fix cd function to handle empty variables correctly. Patch by Sven Axelsson.
darcs-hash:20090201222058-ac50b-31a7ee2db9f68729c21ba153e1439cbeabff84ce.gz
2009-02-02 08:20:58 +10:00

36 lines
625 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