aboutsummaryrefslogtreecommitdiffhomepage
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/functions/__fish_complete_cd.fish10
1 files changed, 7 insertions, 3 deletions
diff --git a/share/functions/__fish_complete_cd.fish b/share/functions/__fish_complete_cd.fish
index f54b5aaa..64436a21 100644
--- a/share/functions/__fish_complete_cd.fish
+++ b/share/functions/__fish_complete_cd.fish
@@ -30,9 +30,13 @@ function __fish_complete_cd -d "Completions for the cd command"
for i in $mycdpath
# Move to the initial directory first,
# in case the CDPATH directory is relative
+ builtin cd $wd ^/dev/null
+ builtin cd $i ^/dev/null
- builtin cd $wd
- builtin cd $i
+ if test $status -ne 0
+ # directory does not exists or missing permission
+ continue
+ end
# What we would really like to do is skip descriptions if all
# valid paths are in the same directory, but we don't know how to
@@ -45,5 +49,5 @@ function __fish_complete_cd -d "Completions for the cd command"
end
end
- builtin cd $wd
+ builtin cd $wd ^/dev/null
end