local i verb comps
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
local OPTS='-h --help --version --no-pager --no-legend -o --output -F --field -1
- -r --reverse -S --since -U --until -D --directory -q --quiet'
+ -r --reverse -S --since -U --until -D --directory -q --quiet --debugger'
local -A VERBS=(
[LIST]='list info'
- [DUMP]='dump gdb'
+ [DUMP]='dump debug'
)
if __contains_word "$prev" '--output -o'; then
elif __contains_word "$prev" '-D --directory'; then
comps=$( compgen -A directory -- "$cur" )
compopt -o filenames
+ elif __contains_word "$prev" '--debugger'; then
+ comps=$( compgen -A command -- "$cur" )
+ compopt -o filenames
elif __contains_word "$prev" '--field -F'; then
comps=$( compgen -W '${__journal_fields[*]}' -- "$cur" )
elif [[ $cur = -* ]]; then
comps=${OPTS}
elif __contains_word "$prev" ${VERBS[*]} &&
- ! __contains_word ${COMP_WORDS[COMP_CWORD-2]} '--output -o -D --directory -F --field'; then
+ ! __contains_word ${COMP_WORDS[COMP_CWORD-2]} \
+ '--output -o -D --directory -F --field --debugger'; then
compopt -o nospace
COMPREPLY=( $(compgen -W '${__journal_fields[*]}' -S= -- "$cur") )
return 0
'list:List available coredumps'
'info:Show detailed information about one or more coredumps'
'dump:Print coredump to stdout'
- 'gdb:Start gdb on a coredump'
+ 'debug:Start debugger (gdb) on a coredump'
)
if (( CURRENT == 1 )); then
_describe -t commands 'coredumpctl command' _coredumpctl_cmds
'--no-legend[Do not print the column headers]' \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
+ '--debugger=[Use the given debugger]' \
'*::coredumpctl commands:_coredumpctl_command'