_usage_complete_usage() {
local __usage_out __usage_line __usage_files= __usage_extensions= __usage_prefix=
__usage_out="$(command 'usage' __complete_word__ --shell bash \
--line "${COMP_LINE:0:$COMP_POINT}" \
--bash-word "${COMP_WORDS[COMP_CWORD]}" \
--bash-wordbreaks "$COMP_WORDBREAKS" 2>/dev/null)" || return 1
COMPREPLY=()
while IFS= read -r __usage_line; do
case "$__usage_line" in
$'\001files') __usage_files=any ;;
$'\001dirs') __usage_files=dirs ;;
$'\001executables') __usage_files=executables ;;
$'\001commands') __usage_files=commands ;;
$'\001extensions\t'*)
__usage_files=extensions
__usage_extensions="${__usage_line#*$'\t'}"
;;
$'\001prefix\t'*) __usage_prefix="${__usage_line#*$'\t'}" ;;
'') ;;
*) COMPREPLY+=("$__usage_line") ;;
esac
done <<< "$__usage_out"
if [[ -n $__usage_files ]]; then
[[ $__usage_files == commands ]] || compopt -o filenames 2>/dev/null
local __usage_cur="${COMP_WORDS[COMP_CWORD]}" __usage_path
local -a __usage_paths=()
if [[ $__usage_files == commands ]]; then
while IFS= read -r __usage_path; do __usage_paths+=("$__usage_path"); done \
< <(compgen -c -- "$__usage_cur")
elif [[ $__usage_files == executables ]]; then
while IFS= read -r __usage_path; do
[[ -d "$__usage_path" || -x "$__usage_path" ]] && __usage_paths+=("$__usage_path")
done < <(compgen -f -- "$__usage_cur")
elif [[ $__usage_files == dirs ]]; then
while IFS= read -r __usage_path; do __usage_paths+=("$__usage_path"); done \
< <(compgen -d -- "$__usage_cur")
else
while IFS= read -r __usage_path; do
if [[ $__usage_files != extensions || -d "$__usage_path" ]]; then
__usage_paths+=("$__usage_path")
continue
fi
local __usage_extension
while IFS= read -r __usage_extension; do
[[ "$__usage_path" == *."$__usage_extension" ]] && {
__usage_paths+=("$__usage_path")
break
}
done < <(tr '\t' '\n' <<< "$__usage_extensions")
done < <(compgen -f -- "$__usage_cur")
fi
(( ${#__usage_paths[@]} )) && COMPREPLY+=("${__usage_paths[@]}")
fi
if [[ -n $__usage_prefix ]]; then
local __usage_i
for __usage_i in "${!COMPREPLY[@]}"; do
[[ ${COMPREPLY[__usage_i]} == "$__usage_prefix"* ]] &&
COMPREPLY[__usage_i]="${COMPREPLY[__usage_i]#"$__usage_prefix"}"
done
fi
}
complete -F _usage_complete_usage 'usage'