gio: Complete also activation roots of volumes

Currently, "gio mount google-drive<tab>" isn't completed even though
that volume exists for google-drive://oholy@redhat.com/. Let's use
"gio mount -li" output to complete also activation roots of volumes.
This commit is contained in:
Ondrej Holy 2019-10-03 14:58:52 +02:00
parent 3a1492ec4f
commit 8bc52105ef

View File

@ -47,7 +47,7 @@ __gio_location() {
dir=${cur%$(basename "$cur")}
fi
# List daemon mounts, just if dir is not specified, or looks like scheme
# List mounts and volumes, just if dir is not specified, or looks like scheme
local mounts=()
if [[ $dir == "" ]] || [[ $dir =~ ":"$ && ! $dir =~ "/" ]]; then
while IFS=$'\n' read mount; do
@ -56,7 +56,7 @@ __gio_location() {
# Use only matching mounts
[[ "$mount" =~ ^"$cur" && "$mount" != "$cur" ]] && mounts+=("$mount")
done < <(gio mount -l | sed -n -r 's/^ *Mount\([0-9]+\): .* -> (.*)$/\1/p')
done < <(gio mount -li | sed -n -r 's/^ *(default_location|activation_root)=(.*)$/\2/p' | sort -u)
fi
# Workaround to unescape dir name (e.g. "\ " -> " ")