#autoload
local ret long rawret nm=${compstate[nmatches]} fsopt cvalsvar
typeset -a fargs opts
fargs=(
'(-d -f)-d[enable debug output]'
'-f[enable foreground operation]'
'-r[mount filesystem read-only]'
'-s[disable multi-threaded operation]'
'(-h --help)'{-h,--help}'[display help and exit]'
'(-V --version)'{-V,--version}'[show version information and exit]'
)
(( $# )) || fargs+='*:default: _default'
long=$argv[(I)--]
if (( long )); then
argv[long]=($fargs --)
else
set -- "$@" $fargs
fi
while [[ $1 == -(O*|F*|[CRWsw]) ]]; do
if [[ $1 == -F?* ]]; then
cvalsvar=${1[3,-1]}
elif [[ $1 == -F ]]; then
cvalsvar=$2
shift
else
opts+=$1
[[ $1 == -R ]] && rawret=yes
fi
shift
done
if [[ $cvalsvar != - ]]; then
fsopt='*-o[specify mount options]:mount option:_fuse_values'
[[ -n $cvalsvar ]] && fsopt+=" -A $cvalsvar"
fsopt+=' mount\ option'
set -- "$@" $fsopt
fi
_arguments -R $opts "$@"
ret=$?
if [[ $ret == 300 ]]; then
compstate[restore]=
[[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] ))
fi
return ret
Copyright 2K16 - 2K18 Indonesian Hacker Rulez