Fix echo "no wildcard match" complaints for ssh completions etc

This commit is contained in:
Dale Eidd 2017-06-06 15:00:40 +08:00 committed by Fabian Homborg
parent 5b3904e66b
commit 2b4f61f294

View File

@ -59,17 +59,23 @@ function __fish_print_hostnames -d "Print a list of known hostnames"
# Normalize whitespace
| string trim | string replace -r -a '\s+' ' ')
end
if test -n "$paths"
# Expand paths which may have globbing and tokenize
set paths (eval "echo $paths" | string split ' ')
for path_index in (seq (count $paths))
# Resolve relative paths
if string match -v '/*' $paths[$path_index] >/dev/null
set paths[$path_index] $relative_path/$paths[$path_index]
set -l new_paths
for path in $paths
set -l expanded_path
eval set expanded_path (echo $path)
for path in $expanded_path
# Resolve "relative" paths in accordance to ssh path resolution
if string match -qv '/*' $path
set path $relative_path/$path
end
echo $paths[$path_index]
echo $path
set new_paths $new_paths $path
end
_recursive $paths
end
if test -n "$new_paths";
_recursive $new_paths
end
end
_recursive $ssh_config