From cb86b8f8fcf64308b6f4599281c6197c547fa32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 22 Nov 2013 14:12:09 +0100 Subject: [PATCH] cd completion: handle not accessible directories --- share/functions/__fish_complete_cd.fish | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/share/functions/__fish_complete_cd.fish b/share/functions/__fish_complete_cd.fish index f54b5aaa7..64436a21a 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