fwupd/data/bash-completion/fwupdtool.in
Richard Hughes 85226fd9d1 Remove potentially problematic language
Red Hat wants to drive an initiative in correcting problematic and potentially
divisive language in open source projects. These naming conventions and
descriptive phrases are hurtful and offensive to many of our colleagues across
the open source universe.

See https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language
2020-06-30 17:31:17 +01:00

173 lines
2.9 KiB
Plaintext

_fwupdtool_cmd_list=(
'activate'
'build-firmware'
'firmware-convert'
'firmware-parse'
'get-updates'
'get-upgrades'
'get-details'
'get-firmware-types'
'get-device-flags'
'get-devices'
'get-history'
'get-plugins'
'get-remotes'
'get-topology'
'hwids'
'update'
'upgrade'
'install'
'install-blob'
'monitor'
'reinstall'
'security'
'self-sign'
'smbios-dump'
'attach'
'detach'
'firmware-read'
'refresh'
'verify-update'
'watch'
)
_fwupdtool_opts=(
'--verbose'
'--enable-json-state'
'--allow-reinstall'
'--allow-older'
'--force'
'--show-all-devices'
'--plugin-enable'
'--prepare'
'--cleanup'
'--filter'
'--disable-ssl-strict'
'--no-safety-check'
)
_show_filters()
{
local flags
flags="$(command @libexecdir@/fwupdtool get-device-flags 2>/dev/null)"
COMPREPLY+=( $(compgen -W "${flags}" -- "$cur") )
}
_show_firmware_types()
{
local firmware_types
firmware_types="$(command @libexecdir@/fwupdtool get-firmware-types 2>/dev/null)"
COMPREPLY+=( $(compgen -W "${firmware_types}" -- "$cur") )
}
_show_plugins()
{
local plugins
plugins="$(command @libexecdir@/fwupdtool get-plugins 2>/dev/null)"
COMPREPLY+=( $(compgen -W "${plugins}" -- "$cur") )
}
_show_modifiers()
{
COMPREPLY+=( $(compgen -W '${_fwupdtool_opts[@]}' -- "$cur") )
}
_fwupdtool()
{
local cur prev command
COMPREPLY=()
cur=`_get_cword`
prev=${COMP_WORDS[COMP_CWORD-1]}
command=${COMP_WORDS[1]}
case $prev in
--plugin-enable)
_show_plugins
return 0
;;
--filter)
_show_filters
return 0
;;
esac
case $command in
get-details|install|install-blob|firmware-read)
#find files
if [[ "$prev" = "$command" ]]; then
_filedir
#modifiers
else
_show_modifiers
fi
;;
attach|detach|activate|verify-update|reinstall)
if [[ "$prev" = "$command" ]]; then
_show_device_ids
#modifiers
else
_show_modifiers
fi
;;
build-firmware)
#file in
if [[ "$prev" = "$command" ]]; then
_filedir
#file out
elif [[ "$prev" = "${COMP_WORDS[2]}" ]]; then
_filedir
#script
elif [[ "$prev" = "${COMP_WORDS[3]}" ]]; then
_filedir
#output
elif [[ "$prev" = "${COMP_WORDS[4]}" ]]; then
_filedir
else
_show_modifiers
fi
;;
firmware-parse)
#find files
if [[ "$prev" = "$command" ]]; then
_filedir
#firmware_type
elif [[ "$prev" = "${COMP_WORDS[2]}" ]]; then
_show_firmware_types
else
_show_modifiers
fi
;;
firmware-convert)
#file in
if [[ "$prev" = "$command" ]]; then
_filedir
#file out
elif [[ "$prev" = "${COMP_WORDS[2]}" ]]; then
_filedir
#firmware_type in
elif [[ "$prev" = "${COMP_WORDS[3]}" ]]; then
_show_firmware_types
#firmware_type out
elif [[ "$prev" = "${COMP_WORDS[4]}" ]]; then
_show_firmware_types
else
_show_modifiers
fi
;;
*)
#find first command
if [[ ${COMP_CWORD} = 1 ]]; then
COMPREPLY=( $(compgen -W '${_fwupdtool_cmd_list[@]}' -- "$cur") )
#modifiers for all commands
else
_show_modifiers
fi
;;
esac
return 0
}
complete -F _fwupdtool fwupdtool