File: _coredumpctl

package info (click to toggle)
systemd 215-17
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 49,568 kB
  • sloc: ansic: 192,789; xml: 39,586; sh: 13,002; makefile: 4,700; perl: 1,461; python: 1,355
file content (36 lines) | stat: -rw-r--r-- 1,323 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#compdef coredumpctl

_coredumpctl_command(){
    local -a _coredumpctl_cmds
    _coredumpctl_cmds=(
            'list:List available coredumps'
            'dump:Print coredump to stdout'
            'gdb:Start gdb on a coredump'
    )
    if (( CURRENT == 1 )); then
        _describe -t commands 'coredumpctl command' _coredumpctl_cmds
    else
        local curcontext="$curcontext"
        local -a _dumps
        cmd="${${_coredumpctl_cmds[(r)$words[1]:*]%%:*}}"
        if (( $#cmd  )); then
            # user can set zstyle ':completion:*:*:coredumpctl:*' sort no for coredumps to be ordered by date, otherwise they get ordered by pid
            _dumps=( "${(foa)$(coredumpctl list | awk 'BEGIN{OFS=":"} /^\s/ {sub(/[[ \t]+/, ""); print $5,$0}' 2>/dev/null)}" )
            if [[ -n "$_dumps" ]]; then
                _describe -t pids 'coredumps' _dumps
            else
                _message "no coredumps"
            fi
        else
            _message "no more options"
        fi
    fi
}

_arguments \
    {-o+,--output=}'[Write output to FILE]:output file:_files' \
    {-F+,--field=}'[Show field in list output]:field' \
    '--no-pager[Do not pipe output into a pager]' \
    {-h,--help}'[Show this help]' \
    '--version[Show package version]' \
    '*::coredumpctl commands:_coredumpctl_command'