Mini Shell
# Check for bash
[ -z "$BASH_VERSION" ] && return
####################################################################################################
__flatpak() {
local IFS=$'\n'
local cur=`_get_cword :`
RES=($(flatpak complete "${COMP_LINE}" "${COMP_POINT}" "${cur}"))
COMPREPLY=()
for i in "${!RES[@]}"; do
if [[ "${RES[$i]}" = "__FLATPAK_FILE" ]]; then
declare -a COMPGEN_OPTS=('-f')
elif [[ "${RES[$i]}" = "__FLATPAK_BUNDLE_FILE" ]]; then
declare -a COMPGEN_OPTS=('-f' '-X' '!*.flatpak')
elif [[ "${RES[$i]}" = "__FLATPAK_BUNDLE_OR_REF_FILE" ]]; then
declare -a COMPGEN_OPTS=('-f' '-X' '!*.flatpak@(|ref)')
elif [[ "${RES[$i]}" = "__FLATPAK_DIR" ]]; then
declare -a COMPGEN_OPTS=('-d')
else
declare -a COMPGEN_OPTS=()
fi
if [[ ${#COMPGEN_OPTS[@]} -ne 0 ]]; then
if [[ "${cur}" = "=" ]]; then
CUR=""
else
CUR="${cur}"
fi
COMPREPLY=("${COMPREPLY[@]}" $(compgen ${COMPGEN_OPTS[@]} -- "${CUR}") )
else
COMPREPLY=("${COMPREPLY[@]}" "${RES[$i]}")
fi
done
}
####################################################################################################
complete -o nospace -F __flatpak flatpak
Zerion Mini Shell 1.0