fwupd/data/bash-completion/fwupdtool.in
Mario Limonciello 6ebccf1e1e Remove support for --ignore-power by frontends
This functionality broke a number of releases ago as part of
implementing device inhibition and was just noticed now.

Instead of fixing it, the preference seems to be to remove the
functionality as it exists today as inhibitions can happen for
a number of reasons.

To still allow people to override these power warnings (such as during
development) add a new daemon configuration item that can be used.

Fixes: #3778
2021-09-21 13:13:52 -05:00

187 lines
3.2 KiB
Plaintext

_fwupdtool_cmd_list=(
'activate'
'build-firmware'
'esp-list'
'esp-mount'
'esp-unmount'
'firmware-build'
'firmware-convert'
'firmware-export'
'firmware-extract'
'firmware-parse'
'firmware-sign'
'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'
'switch-branch'
'self-sign'
'smbios-dump'
'attach'
'detach'
'firmware-dump'
'refresh'
'verify-update'
'watch'
'unbind-driver'
'bind-driver'
'export-hwids'
)
_fwupdtool_opts=(
'--verbose'
'--enable-json-state'
'--allow-reinstall'
'--allow-older'
'--force'
'--show-all'
'--plugins'
'--prepare'
'--cleanup'
'--filter'
'--method'
'--disable-ssl-strict'
'--no-safety-check'
'--ignore-checksum'
'--ignore-vid-pid'
)
_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
--plugins)
_show_plugins
return 0
;;
--filter)
_show_filters
return 0
;;
esac
case $command in
get-details|install|install-blob|firmware-dump)
#find files
if [[ "$prev" = "$command" ]]; then
_filedir
#modifiers
else
_show_modifiers
fi
;;
attach|detach|activate|verify-update|reinstall|get-updates)
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