#compdef systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-detect-virt systemd-machine-id-setup systemd-notify systemd-tty-ask-password-agent

local curcontext="$curcontext" state lstate line
case "$service" in
    systemd-ask-password)
        _arguments \
            {-h,--help}'[Show this help]' \
            '--icon=[Icon name]' \
            '--timeout=[Timeout in sec]' \
            '--no-tty[Ask question via agent even on TTY]' \
            '--accept-cached[Accept cached passwords]' \
            '--multiple[List multiple passwords if available]'
    ;;
    systemd-cat)
        _arguments \
            {-h,--help}'[Show this help]' \
            '--version[Show package version.]' \
            {-t+,--identifier=}'[Set syslog identifier.]' \
            {-p+,--priority=}'[Set priority value.]:value:({0..7})' \
            '--level-prefix=[Control whether level prefix shall be parsed.]:boolean:(1 0)' \
            ':Message'
    ;;
    systemd-cgls)
        _arguments \
            {-h,--help}'[Show this help]' \
            '--version[Show package version]' \
            '--no-pager[Do not pipe output into a pager]' \
            {-a,--all}'[Show all groups, including empty]' \
            '-k[Include kernel threads in output]' \
            ':cgroups:(cpuset cpu cpuacct memory devices freezer net_cls blkio)'
    ;;
    systemd-cgtop)
        _arguments \
            {-h,--help}'[Show this help]' \
            '--version[Print version and exit]' \
            '(-c -m -i -t)-p[Order by path]' \
            '(-c -p -m -i)-t[Order by number of tasks]' \
            '(-m -p -i -t)-c[Order by CPU load]' \
            '(-c -p -i -t)-m[Order by memory load]' \
            '(-c -m -p -t)-i[Order by IO load]' \
            {-d+,--delay=}'[Specify delay]' \
            {-n+,--iterations=}'[Run for N iterations before exiting]' \
            {-b,--batch}'[Run in batch mode, accepting no input]' \
            '--depth=[Maximum traversal depth]'
    ;;
    systemd-detect-virt)
        _arguments \
            {-h,--help}'[Show this help]' \
            '--version[Show package version]' \
            {-c,--container}'[Only detect whether we are run in a container]' \
            {-v,--vm}'[Only detect whether we are run in a VM]' \
            {-q,--quiet}"[Don't output anything, just set return value]"
    ;;
    systemd-machine-id-setup)
        _arguments \
            {-h,--help}'[Show this help]' \
            '--version[Show package version]'
    ;;
    systemd-notify)
        _arguments \
            {-h,--help}'[Show this help]' \
            '--version[Show package version]' \
            '--ready[Inform the init system about service start-up completion.]' \
            '--pid=[Inform the init system about the main PID of the daemon]' \
            '--status=[Send a free-form status string for the daemon to the init systemd]' \
            '--booted[Returns 0 if the system was booted up with systemd]' \
            '--readahead=[Controls disk read-ahead operations]:arguments:(cancel done noreply)'
    ;;
    systemd-tty-ask-password-agent)
        _arguments \
            {-h,--help}'[Prints a short help text and exits.]' \
            '--version[Prints a short version string and exits.]' \
            '--list[Lists all currently pending system password requests.]' \
            '--query[Process all currently pending system password requests by querying the user on the calling TTY.]' \
            '--watch[Continuously process password requests.]' \
            '--wall[Forward password requests to wall(1).]' \
            '--plymouth[Ask question with plymouth(8).]' \
            '--console[Ask question on /dev/console.]'
    ;;
    *) _message 'eh?' ;;
esac

#vim: set ft=zsh sw=4 ts=4 et