1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-10 05:18:17 +03:00

improve zsh completion (#32098)

* fix error
* remove options that are no longer supported
* add missing options
* stop completion if an option `--help` or `--version` is supplied

[[[
zjs: a note for the reader:

zshcompsys(1) in the section about optspecs in _arguments says:

> Each of the forms above may be preceded by a list in parentheses of option names  and  argument  num‐
> bers.  If the given option is on the command line, the options and arguments indicated in parentheses
> will not be offered.  For example, ‘(-two -three 1)-one:...' completes the option ‘-one'; if this ap‐
> pears  on  the  command line, the options -two and -three and the first ordinary argument will not be
> completed after it.  ‘(-foo):...' specifies an ordinary argument completion; -foo will  not  be  com‐
> pleted if that argument is already present.
> 
> Other  items  may  appear in the list of excluded options to indicate various other items that should
> not be applied when the current specification is matched: a single star (\*) for  the  rest  arguments
> (i.e. a specification of the form ‘\*:...'); a colon (:) for all normal (non-option-) arguments; and a
> hyphen (-) for all options.  For example, if ‘(\*)' appears before an option and the option appears on
> the  command  line,  the  list  of remaining arguments (those shown in the above table beginning with
> ‘\*:') will not be completed.

The intended effect of the change is to remove irrelevant completion matches from the completion.

tl;dr: (- : ) prevents further completion
]]]
This commit is contained in:
Eisuke Kawashima 2024-04-15 17:58:48 +09:00 committed by GitHub
parent d1a7e030c5
commit 20927c0eec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 239 additions and 217 deletions

View File

@ -69,12 +69,12 @@ _bootctl_reboot-to-firmware() {
}
_arguments \
{-h,--help}'[Prints a short help text and exits.]' \
'--version[Prints a short version string and exits.]' \
'(- *)'{-h,--help}'[Prints a short help text and exits.]' \
'(- *)--version[Prints a short version string and exits.]' \
'--esp-path=[Path to the EFI System Partition (ESP)]:path:_directories' \
'--boot-path=[Path to the $BOOT partition]:path:_directories' \
{-p,--print-esp-path}'[Print path to the EFI system partition]' \
{-x,--print-boot-path}'[Print path to the $BOOT partition]' \
'(-p --print-esp-path)'{-p,--print-esp-path}'[Print path to the EFI system partition]' \
'(-x --print-boot-path)'{-x,--print-boot-path}'[Print path to the $BOOT partition]' \
'--make-machine-id-directory=[Control creation and deletion of the top-level machine ID directory.]:options:(yes no auto)' \
'--no-variables[Do not touch EFI variables]' \
'--no-pager[Do not pipe output into a pager]' \

View File

@ -259,14 +259,14 @@ local -a _modes; _modes=("--user" "--system")
local _bus_address=${${words:*_modes}[(R)(${(j.|.)_modes})]}
local curcontext=$curcontext state line
_arguments \
{-h,--help}'[Prints a short help text and exits.]' \
'--version[Prints a short version string and exits.]' \
'(- *)'{-h,--help}'[Prints a short help text and exits.]' \
'(- *)--version[Prints a short version string and exits.]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-legend[Do not show the headers and footers]' \
'--system[Connect to system manager]' \
'--user[Connect to user service manager]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'--address=[Connect to the bus specified by address]:address' \
'--show-machine[Show machine ID column in list]' \
'--unique[Only show unique names]' \
@ -274,7 +274,7 @@ _arguments \
'--activatable[Only show activatable names]' \
'--match=[Only show matching messages]:match:__dbus_matchspec' \
'--list[Do not show tree, but simple object path list]' \
{-q,--quiet}'[Do not show method call reply]'\
'(-q --quiet)'{-q,--quiet}'[Do not show method call reply]'\
'--verbose[Show result values in long format]' \
'--xml-interface[Dump the XML description in introspect command]' \
'--json=[Show result values in long format]:format:_busctl_get_json' \

View File

@ -30,18 +30,18 @@ _coredumpctl_commands(){
}
_arguments \
{-o+,--output=}'[Write output to FILE]:output file:_files' \
{-F+,--field=}'[Show field in list output]:field' \
'(-o --output)'{-o+,--output=}'[Write output to FILE]:output file:_files' \
'(-F --field)'{-F+,--field=}'[Show field in list output]:field' \
'-1[Show information about most recent entry only]' \
{-S,--since}'[Print entries since the specified date]' \
{-U,--until}'[Print entries until the specified date]' \
{-r,--reverse}'[Show the newest entries first]' \
'(-S --since)'{-S,--since}'[Print entries since the specified date]' \
'(-U --until)'{-U,--until}'[Print entries until the specified date]' \
'(-r --reverse)'{-r,--reverse}'[Show the newest entries first]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-legend[Do not print the column headers]' \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(- *)'{-h,--help}'[Show this help]' \
'(- *)--version[Show package version]' \
'--debugger=[Use the given debugger]:debugger: _command_names -e' \
{-D,--directory=}'[Use the journal files in the specified dir]:directory: _directories' \
{-q,--quiet}'[Do not show info messages and privilege warning]' \
'(-D --directory)'{-D,--directory=}'[Use the journal files in the specified dir]:directory: _directories' \
'(-q --quiet)'{-q,--quiet}'[Do not show info messages and privilege warning]' \
'--all[Look at all journal files instead of local ones]' \
'*::coredumpctl commands:_coredumpctl_commands'

View File

@ -83,13 +83,13 @@ _hostnamectl_commands() {
}
_arguments -s \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(- *)'{-h,--help}'[Show this help]' \
'(- *)--version[Show package version]' \
'--transient[Only set transient hostname]' \
'--static[Only set static hostname]' \
'--pretty[Only set pretty hostname]' \
'--no-ask-password[Do not prompt for password]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'--json[Shows output formatted as JSON]:format:_hostnamectl_get_json' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'--json=[Shows output formatted as JSON]:format:_hostnamectl_get_json' \
'*::hostnamectl commands:_hostnamectl_commands'

View File

@ -96,37 +96,37 @@ while (( i++ < n )); do
fi
done
_arguments -s \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(- *)'{-h,--help}'[Show this help]' \
'(- *)--version[Show package version]' \
'--no-pager[Do not pipe output into a pager]' \
--no-hostname"[Don't show the hostname of local log messages]" \
{-l,--full}'[Show long fields in full]' \
{-a,--all}'[Show all fields, including long and unprintable]' \
{-f,--follow}'[Follow journal]' \
{-e,--pager-end}'[Jump to the end of the journal in the pager]' \
{-n+,--lines=}'[Number of journal entries to show]:integer' \
'(-l --full)'{-l,--full}'[Show long fields in full]' \
'(-a --all)'{-a,--all}'[Show all fields, including long and unprintable]' \
'(-f --follow)'{-f,--follow}'[Follow journal]' \
'(-e --pager-end)'{-e,--pager-end}'[Jump to the end of the journal in the pager]' \
'(-n --lines)'{-n+,--lines=}'[Number of journal entries to show]:integer' \
'--no-tail[Show all lines, even in follow mode]' \
{-r,--reverse}'[Reverse output]' \
{-o+,--output=}'[Change journal output mode]:output modes:_sd_outputmodes' \
{-x,--catalog}'[Show explanatory texts with each log line]' \
{-q,--quiet}"[Don't show privilege warning]" \
{-m,--merge}'[Show entries from all available journals]' \
{-b+,--boot=}'[Show data only from the specified boot or offset]::boot id or offset:_journalctl_boots' \
'(-r --reverse)'{-r,--reverse}'[Reverse output]' \
'(-o --output)'{-o+,--output=}'[Change journal output mode]:output modes:_sd_outputmodes' \
'(-x --catalog)'{-x,--catalog}'[Show explanatory texts with each log line]' \
'(-q --quiet)'{-q,--quiet}"[Don't show privilege warning]" \
'(-m --merge)'{-m,--merge}'[Show entries from all available journals]' \
'(-b --boot)'{-b+,--boot=}'[Show data only from the specified boot or offset]::boot id or offset:_journalctl_boots' \
'--list-boots[List boots ordered by time]' \
{-k,--dmesg}'[Show only kernel messages from the current boot]' \
{-u+,--unit=}'[Show data only from the specified unit]:units:_journalctl_field_values _SYSTEMD_UNIT' \
'(-k --dmesg)'{-k,--dmesg}'[Show only kernel messages from the current boot]' \
'(-u --unit)'{-u+,--unit=}'[Show data only from the specified unit]:units:_journalctl_field_values _SYSTEMD_UNIT' \
'--user-unit=[Show data only from the specified user session unit]:units:_journalctl_field_values USER_UNIT' \
{-p+,--priority=}'[Show only messages within the specified priority range]:priority:_journalctl_field_values PRIORITY' \
'(-p --priority)'{-p+,--priority=}'[Show only messages within the specified priority range]:priority:_journalctl_field_values PRIORITY' \
'--facility=[Filter messages by facility]:facility:_journalctl_facilities' \
{-t+,--identifier=}'[Filter messages by syslog identifier]:identifier:_journalctl_field_values SYSLOG_IDENTIFIER' \
{-c+,--cursor=}'[Start showing entries from the specified cursor]:cursors:_journalctl_field_values __CURSORS' \
'(-t --identifier)'{-t+,--identifier=}'[Filter messages by syslog identifier]:identifier:_journalctl_field_values SYSLOG_IDENTIFIER' \
'(-c --cursor)'{-c+,--cursor=}'[Start showing entries from the specified cursor]:cursors:_journalctl_field_values __CURSORS' \
'--cursor-file=[Show entries using cursor stored in file]:file:_files' \
'--after-cursor=[Start showing entries from after the specified cursor]:cursors:_journalctl_field_values __CURSORS' \
'--since=[Start showing entries on or newer than the specified date]:YYYY-MM-DD HH\:MM\:SS' \
'--until=[Stop showing entries on or older than the specified date]:YYYY-MM-DD HH\:MM\:SS' \
{-g+,--grep=}'[Show entries with MESSAGE field matching PCRE pattern]' \
'(-g --grep)'{-g+,--grep=}'[Show entries with MESSAGE field matching PCRE pattern]' \
'--case-sensitive=[Force case sensitive or insensitive matching]:boolean:(true false)' \
{-F,--field=}'[List all values a certain field takes]:Fields:_journalctl_fields' \
'(-F --field)'{-F,--field=}'[List all values a certain field takes]:Fields:_journalctl_fields' \
'--system[Show system and kernel messages]' \
'--user[Show messages from user services]' \
'(--directory -D -M --machine --root --file)'{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \

View File

@ -22,6 +22,8 @@ _kernel-install_kernels(){
}
_arguments \
'(- :)'{-h,--help}'[Show help]' \
'(- :)--version[Show package version]' \
'1::add or remove:(add remove)' \
'2::kernel versions:_kernel-install_kernels' \
'3::kernel images:_kernel-install_images'

View File

@ -88,11 +88,11 @@ _localectl_commands() {
}
_arguments \
{-h,--help}'[Show this help]' \
'(- *)'{-h,--help}'[Show this help]' \
'--version[Show package version]' \
"--no-convert[Don't convert keyboard mappings]" \
'--no-pager[Do not pipe output into a pager]' \
'--no-ask-password[Do not prompt for password]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machine' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container]:machine' \
'*::localectl commands:_localectl_commands'

View File

@ -165,18 +165,18 @@ _loginctl_commands() {
_arguments -s \
{-h,--help}'[Show help]' \
'--version[Show package version]' \
\*{-p+,--property=}'[Show only properties by this name]:unit property' \
{-a,--all}'[Show all properties, including empty ones]' \
'(- *)'{-h,--help}'[Show help]' \
'(- *)--version[Show package version]' \
'*'{-p+,--property=}'[Show only properties by this name]:unit property' \
'(-a --all)'{-a,--all}'[Show all properties, including empty ones]' \
'--kill-whom=[Whom to send signal to]:killwhom:(main control all)' \
{-s+,--signal=}'[Which signal to send]:signal:_signals' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machine:_sd_machines' \
{-l,--full}'[Do not ellipsize output]' \
'(-s --signal)'{-s+,--signal=}'[Which signal to send]:signal:_signals' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container]:machine:_sd_machines' \
'(-l --full)'{-l,--full}'[Do not ellipsize output]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-legend[Do not show the headers and footers]' \
'--no-ask-password[Do not ask for system passwords]' \
{-n+,--lines=}'[Number of journal entries to show]' \
{-o+,--output=}'[Change journal output mode]:output modes:_sd_outputmodes' \
'(-n --lines)'{-n+,--lines=}'[Number of journal entries to show]' \
'(-o --output)'{-o+,--output=}'[Change journal output mode]:output modes:_sd_outputmodes' \
'*::loginctl command:_loginctl_commands'

View File

@ -168,23 +168,23 @@
}
_arguments \
{-h,--help}'[Prints a short help text and exits.]' \
'--version[Prints a short version string and exits.]' \
'(- *)'{-h,--help}'[Prints a short help text and exits.]' \
'(- *)--version[Prints a short version string and exits.]' \
'--no-pager[Do not pipe output into a pager.]' \
'--no-legend[Do not show the headers and footers.]' \
'--no-ask-password[Do not ask for system passwords.]' \
{-H+,--host=}'[Operate on remote host.]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container.]:machine:_sd_machines' \
{-p+,--property=}'[Limit output to specified property.]:property:(Name Id Timestamp TimestampMonotonic Service Scope Leader Class State RootDirectory)' \
{-a,--all}'[Show all properties.]' \
{-q,--quiet}'[Suppress output.]' \
{-l,--full}'[Do not ellipsize cgroup members.]' \
'(-H --host)'{-H+,--host=}'[Operate on remote host.]:userathost:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container.]:machine:_sd_machines' \
'(-p --property)'{-p+,--property=}'[Limit output to specified property.]:property:(Name Id Timestamp TimestampMonotonic Service Scope Leader Class State RootDirectory)' \
'(-a --all)'{-a,--all}'[Show all properties.]' \
'(-q --quiet)'{-q,--quiet}'[Suppress output.]' \
'(-l --full)'{-l,--full}'[Do not ellipsize cgroup members.]' \
'--kill-whom=[Whom to send signal to.]:killwhom:(leader all)' \
{-s+,--signal=}'[Which signal to send.]:signal:_signals' \
'(-s --signal)'{-s+,--signal=}'[Which signal to send.]:signal:_signals' \
'--read-only[Create read-only bind mount.]' \
'--mkdir[Create directory before bind mounting, if missing.]' \
{-n+,--lines=}'[Number of journal entries to show.]:integer' \
{-o+,--output=}'[Change journal output mode.]:output modes:_sd_outputmodes' \
'(-n --lines)'{-n+,--lines=}'[Number of journal entries to show.]:integer' \
'(-o --output)'{-o+,--output=}'[Change journal output mode.]:output modes:_sd_outputmodes' \
'--verify=[Verification mode for downloaded images.]:verify:(no checksum signature)' \
'--force[Download image even if already exists.]' \
'*::machinectl command:_machinectl_commands'

View File

@ -49,12 +49,12 @@
}
_arguments \
{-a,--all}'[Show all links with status]' \
'(-a --all)'{-a,--all}'[Show all links with status]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-legend[Do not print the column headers]' \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'--drop-in=[Use the given drop-in file name]' \
'(- *)'{-h,--help}'[Show this help]' \
'(- *)--version[Show package version]' \
'--drop-in=[Use the given drop-in file name]:NAME' \
'--no-reload[Do not reload the network manager state when editing]' \
'--json[Shows output formatted as JSON]:format:_networkctl_get_json' \
'--json=[Shows output formatted as JSON]:format:_networkctl_get_json' \
'*::networkctl commands:_networkctl_commands'

View File

@ -22,7 +22,7 @@
}
_arguments \
{-h,--help}'[Prints a short help text and exits.]' \
'--version[Prints a short version string and exits.]' \
'(- *)'{-h,--help}'[Prints a short help text and exits.]' \
'(- *)--version[Prints a short version string and exits.]' \
'--no-pager[Do not pipe output into a pager]' \
'*::oomctl command:_oomctl_commands'

View File

@ -68,18 +68,18 @@
}
_arguments \
{-h,--help}'[Print a short help text and exit]' \
'--version[Print a short version string and exit]' \
'--legend=no[Do not show headers and footers]' \
'(- *)'{-h,--help}'[Print a short help text and exit]' \
'(- *)--version[Print a short version string and exit]' \
'--legend=[Do not show headers and footers]:BOOL:(yes no)' \
'-4[Resolve IPv4 addresses]' \
'-6[Resolve IPv6 addresses]' \
{-i+,--interface=}'[Look on interface]:interface:_net_interfaces' \
{-p+,--protocol=}'[Look via protocol]:protocol:_resolvectl_protocols' \
{-t+,--type=}'[Query RR with DNS type]:type:_resolvectl_types' \
{-c+,--class=}'[Query RR with DNS class]:class:_resolvectl_classes' \
'(-i --interface)'{-i+,--interface=}'[Look on interface]:interface:_net_interfaces' \
'(-p --protocol)'{-p+,--protocol=}'[Look via protocol]:protocol:_resolvectl_protocols' \
'(-t --type)'{-t+,--type=}'[Query RR with DNS type]:type:_resolvectl_types' \
'(-c --class)'{-c+,--class=}'[Query RR with DNS class]:class:_resolvectl_classes' \
'--service[Resolve services]' \
'--service-address=no[Do not resolve address for services]' \
'--service-txt=no[Do not resolve TXT records for services]' \
'--cname=no[Do not follow CNAME redirects]' \
'--search=no[Do not use search domains]' \
'--service-address=[Do not resolve address for services]:BOOL:(yes no)' \
'--service-txt=[Do not resolve TXT records for services]:BOOL:(yes no)' \
'--cname=[Do not follow CNAME redirects]:BOOL:(yes no)' \
'--search=[Do not use search domains]:BOOL:(yes no)' \
'*::default: _resolvectl_commands'

View File

@ -502,20 +502,20 @@ done
# Use the last mode, or --system (they are exclusive and the last one is used).
local _sys_service_mgr=${words[(R)(--user|--system)]:---system}
_arguments -s \
{-h,--help}'[Show help]' \
'--version[Show package version]' \
{-t+,--type=}'[List only units of a particular type]:unit type:_systemctl_unit_types' \
'(- *)'{-h,--help}'[Show help]' \
'(- *)--version[Show package version]' \
'(-t --type)'{-t+,--type=}'[List only units of a particular type]:unit type:_systemctl_unit_types' \
'--state=[Display units in the specified state]:unit state:_systemctl_unit_states' \
'--job-mode=[Specify how to deal with other jobs]:mode:_systemctl_job_modes' \
{-p+,--property=}'[Show only properties by specific name]:unit property:_systemctl_unit_properties' \
{-a,--all}'[Show all units/properties, including dead/empty ones]' \
'(-p --property)'{-p+,--property=}'[Show only properties by specific name]:unit property:_systemctl_unit_properties' \
'(-a --all)'{-a,--all}'[Show all units/properties, including dead/empty ones]' \
'--reverse[Show reverse dependencies]' \
'--after[Show units ordered after]' \
'--before[Show units ordered before]' \
{-l,--full}"[Don't ellipsize unit names on output]" \
'(-l --full)'{-l,--full}"[Don't ellipsize unit names on output]" \
'--show-types[When showing sockets, show socket type]' \
'--check-inhibitors[Specify if inhibitors should be checked]:mode:_systemctl_check_inhibitors' \
{-q,--quiet}'[Suppress output]' \
'(-q --quiet)'{-q,--quiet}'[Suppress output]' \
'--no-warn[Suppress several warnings shown by default]' \
'--no-block[Do not wait until operation finished]' \
'--legend=no[Do not print a legend, i.e. the column headers and the footer with hints]' \
@ -527,14 +527,14 @@ _arguments -s \
"--no-reload[When enabling/disabling unit files, don't reload daemon configuration]" \
'--no-ask-password[Do not ask for system passwords]' \
'--kill-whom=[Whom to send signal to]:killwhom:(main control all)' \
{-s+,--signal=}'[Which signal to send]:signal:_signals' \
{-f,--force}'[When enabling unit files, override existing symlinks. When shutting down, execute action immediately]' \
'(-s --signal)'{-s+,--signal=}'[Which signal to send]:signal:_signals' \
'(-f --force)'{-f,--force}'[When enabling unit files, override existing symlinks. When shutting down, execute action immediately]' \
'--root=[Enable/disable/mask unit files in the specified root directory]:directory:_directories' \
'--runtime[Enable/disable/mask unit files only temporarily until next reboot]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-P,--privileged}'[Acquire privileges before execution]' \
{-n+,--lines=}'[Journal entries to show]:number of entries' \
{-o+,--output=}'[Change journal output mode]:modes:_sd_outputmodes' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'(-P --privileged)'{-P,--privileged}'[Acquire privileges before execution]' \
'(-n --lines)'{-n+,--lines=}'[Journal entries to show]:number of entries' \
'(-o --output)'{-o+,--output=}'[Change journal output mode]:modes:_sd_outputmodes' \
'--firmware-setup[Tell the firmware to show the setup menu on next boot]' \
'--plain[When used with list-dependencies, print output as a list]' \
'--failed[Show failed units]' \

View File

@ -5,7 +5,7 @@ local curcontext="$curcontext" state lstate line
case "$service" in
systemd-ask-password)
_arguments \
{-h,--help}'[Show this help]' \
'(- *)'{-h,--help}'[Show this help]' \
'--icon=[Icon name]:icon name:' \
'--timeout=[Timeout in sec]:timeout (seconds):' \
'--no-tty[Ask question via agent even on TTY]' \
@ -14,54 +14,54 @@ case "$service" in
;;
systemd-cat)
_arguments \
{-h,--help}'[Show this help]' \
'--version[Show package version.]' \
{-t+,--identifier=}'[Set syslog identifier.]:syslog identifier:' \
{-p+,--priority=}'[Set priority value.]:value:({0..7})' \
'(- *)'{-h,--help}'[Show this help]' \
'(- *)--version[Show package version.]' \
'(-t --identifier)'{-t+,--identifier=}'[Set syslog identifier.]:syslog identifier:' \
'(-p --priority)'{-p+,--priority=}'[Set priority value.]:value:({0..7})' \
'--level-prefix=[Control whether level prefix shall be parsed.]:boolean:(1 0)' \
'--namespace=[Connect to specified journal namespace.]:journal namespace:' \
':Message'
;;
systemd-cgls)
_arguments \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(- *)'{-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]' \
'(-a --all)'{-a,--all}'[Show all groups, including empty]' \
'-k[Include kernel threads in output]' \
':cgroups:(cpuset cpu cpuacct memory devices freezer blkio)'
;;
systemd-cgtop)
_arguments \
{-h,--help}'[Show this help]' \
'--version[Print version and exit]' \
'(-)'{-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]:delay:' \
{-n+,--iterations=}'[Run for N iterations before exiting]:number of iterations:' \
{-b,--batch}'[Run in batch mode, accepting no input]' \
'(-d --delay)'{-d+,--delay=}'[Specify delay]:delay:' \
'(-n --iterations)'{-n+,--iterations=}'[Run for N iterations before exiting]:number of iterations:' \
'(-b --batch)'{-b,--batch}'[Run in batch mode, accepting no input]' \
'--depth=[Maximum traversal depth]:maximum 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]"
'(-)'{-h,--help}'[Show this help]' \
'(-)--version[Show package version]' \
'(-c --container)'{-c,--container}'[Only detect whether we are run in a container]' \
'(-v --vm)'{-v,--vm}'[Only detect whether we are run in a VM]' \
'(-q --quiet)'{-q,--quiet}"[Don't output anything, just set return value]"
;;
systemd-machine-id-setup)
_arguments \
{-h,--help}'[Show this help]' \
'--version[Show package version]'
'(-)'{-h,--help}'[Show this help]' \
'(-)--version[Show package version]'
;;
systemd-notify)
_arguments \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(-)'{-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]:daemon main PID:_pids' \
'--status=[Send a free-form status string for the daemon to the init systemd]:status string:' \
@ -69,9 +69,9 @@ case "$service" in
;;
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.]' \
'(-)'{-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).]' \

View File

@ -94,8 +94,8 @@ JSON or table format'
}
_arguments \
{-h,--help}'[Show help text]' \
'--version[Show package version]' \
'(- *)'{-h,--help}'[Show help text]' \
'(- *)--version[Show package version]' \
'--system[Operate on system systemd instance]' \
'--user[Operate on user systemd instance]' \
'--global[Show global user instance config]' \
@ -117,7 +117,7 @@ _arguments \
'--fuzz=[When printing the tree of the critical chain, print also services, which finished TIMESPAN earlier, than the latest in the branch]:TIMESPAN' \
'--from-pattern=[When generating a dependency graph, filter only origins]:GLOB' \
'--to-pattern=[When generating a dependency graph, filter only destinations]:GLOB' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machine:_sd_machines' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container]:machine:_sd_machines' \
'--quiet[Do not show hints]' \
'*::systemd-analyze commands:_systemd-analyze_commands'

View File

@ -9,8 +9,8 @@ _systemd-delta_types() {
}
_arguments \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(- :)'{-h,--help}'[Show this help]' \
'(- :)--version[Show package version]' \
'--no-pager[Do not pipe output into a pager]' \
'--diff=[Show a diff when overridden files differ]:boolean:(1 0)' \
{-t+,--type=}'[Only display a selected set of override types]:types:_systemd-delta_types' \

View File

@ -26,8 +26,10 @@ _systemd-inhibit_what() {
}
_arguments \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(- *)'{-h,--help}'[Show this help]' \
'(- *)--version[Show package version]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-legend[Do not show the headers and footers]' \
'--what=[Operations to inhibit]:options:_systemd-inhibit_what' \
'--who=[A descriptive string who is inhibiting]:who is inhibiting:' \
'--why=[A descriptive string why is being inhibited]:reason for the lock:' \

View File

@ -13,27 +13,27 @@ _systemd-nspawn_caps(){
}
_arguments \
{-h,--help}'[Show this help.]' \
'--version[Print a short version string and exit.]' \
{--quiet,-q}'[Turns off any status output by the tool itself.]' \
{--directory=,-D+}'[Directory to use as file system root for the namespace container. If omitted the current directory will be used.]:directories:_directories' \
'(- *)'{-h,--help}'[Show this help.]' \
'(- *)--version[Print a short version string and exit.]' \
'(--quiet -q)'{--quiet,-q}'[Turns off any status output by the tool itself.]' \
'(--directory -D)'{--directory=,-D+}'[Directory to use as file system root for the namespace container. If omitted the current directory will be used.]:directories:_directories' \
'--template=[Initialize root directory from template directory, if missing.]:template:_directories' \
{--ephemeral,-x}'[Run container with snapshot of root directory, and remove it after exit.]' \
{--image=,-i+}'[Disk image to mount the root directory for the container from.]:disk image: _files' \
{--boot,-b}'[Automatically search for an init binary and invoke it instead of a shell or a user supplied program.]' \
{--user=,-u+}'[Run the command under specified user, create home directory and cd into it.]:user:_users' \
{--machine=,-M+}'[Sets the machine name for this container.]: : _message "container name"' \
'(--ephemeral -x)'{--ephemeral,-x}'[Run container with snapshot of root directory, and remove it after exit.]' \
'(--image -i)'{--image=,-i+}'[Disk image to mount the root directory for the container from.]:disk image: _files' \
'(--boot -b)'{--boot,-b}'[Automatically search for an init binary and invoke it instead of a shell or a user supplied program.]' \
'(--user -u)'{--user=,-u+}'[Run the command under specified user, create home directory and cd into it.]:user:_users' \
'(--machine -M)'{--machine=,-M+}'[Sets the machine name for this container.]: : _message "container name"' \
'--uuid=[Set the specified uuid for the container.]: : _message "container UUID"' \
{--slice=,-S+}'[Make the container part of the specified slice, instead of the default machine.slice.]: : _message slice' \
'(--slice -S)'{--slice=,-S+}'[Make the container part of the specified slice, instead of the default machine.slice.]: : _message slice' \
'--private-network[Disconnect networking of the container from the host.]' \
'--network-interface=[Assign the specified network interface to the container.]: : _net_interfaces' \
'--network-macvlan=[Create a "macvlan" interface of the specified Ethernet network interface and add it to the container.]: : _net_interfaces' \
'--network-ipvlan=[Create an "ipvlan" network interface based on an existing network interface to the container.]: : _net_interfaces' \
{--network-veth,-n}'[Create a virtual Ethernet link (veth) between host and container.]' \
'(--network-veth -n)'{--network-veth,-n}'[Create a virtual Ethernet link (veth) between host and container.]' \
'--network-bridge=[Adds the host side of the Ethernet link created with --network-veth to the specified bridge.]: : _net_interfaces' \
{--port=,-p+}'[Expose a container IP port on the host.]: : _message port' \
{--selinux-context=,-Z+}'[Sets the SELinux security context to be used to label processes in the container.]: : _message "SELinux context"' \
{--selinux-apifs-context=,-L+}'[Sets the SELinux security context to be used to label files in the virtual API file systems in the container.]: : _message "SELinux context"' \
'(--port -p)'{--port=,-p+}'[Expose a container IP port on the host.]: : _message port' \
'(--selinux-context -Z)'{--selinux-context=,-Z+}'[Sets the SELinux security context to be used to label processes in the container.]: : _message "SELinux context"' \
'(--selinux-apifs-context -L)'{--selinux-apifs-context=,-L+}'[Sets the SELinux security context to be used to label files in the virtual API file systems in the container.]: : _message "SELinux context"' \
'--capability=[List one or more additional capabilities to grant the container.]:capabilities:_systemd-nspawn_caps' \
'--drop-capability=[Specify one or more additional capabilities to drop for the containerm]:capabilities:_systemd-nspawn_caps' \
"--link-journal=[Control whether the container's journal shall be made visible to the host system.]:options:(no host guest auto)" \

View File

@ -3,7 +3,7 @@
typeset -A sdpath=( ${$(systemd-path)/:/} )
_arguments -S \
'(-h --help)'{-h,--help}'[Print help text and exit]' \
'(-v --version)'{-v,--version}'[Print a version string and exit]' \
'--suffix=[Append a suffix to the paths]' \
'(- *)'{-h,--help}'[Print help text and exit]' \
'(- *)'{-v,--version}'[Print a version string and exit]' \
'--suffix=[Append a suffix to the paths]:SUFFIX' \
'*:pathname:compadd -k sdpath'

View File

@ -23,12 +23,12 @@ __systemctl() {
}
_arguments \
{-G,--collect}'[Unload the transient unit after it completed]' \
'(-G --collect)'{-G,--collect}'[Unload the transient unit after it completed]' \
'--description=[Description for unit]:description' \
'--gid=[Run as system group]:group:_groups' \
{-h,--help}'[Show help message]' \
{-H+,--host=}'[Operate on remote host]:[user@]host:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'(- *)'{-h,--help}'[Show help message]' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:[user@]host:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'--nice=[Nice level]:nice level' \
'--no-ask-password[Do not query the user for authentication]' \
'--no-block[Do not synchronously wait for the unit start operation to finish]' \
@ -41,8 +41,8 @@ _arguments \
'--on-unit-active=[Run SEC seconds after the last activation]:SEC' \
'--on-unit-inactive=[Run SEC seconds after the last deactivation]:SEC' \
'--path-property=[Set path unit property]:NAME=VALUE' \
{-P,--pipe}'[Inherit standard input, output, and error]' \
{-p+,--property=}'[Set unit property]:NAME=VALUE:(( \
'(-P --pipe)'{-P,--pipe}'[Inherit standard input, output, and error]' \
'(-p --property)'{-p+,--property=}'[Set unit property]:NAME=VALUE:(( \
CPUAccounting= MemoryAccounting= BlockIOAccounting= SendSIGHUP= \
SendSIGKILL= MemoryLimit= CPUShares= BlockIOWeight= User= Group= \
DevicePolicy= KillMode= ExitType= DeviceAllow= BlockIOReadBandwidth= \
@ -57,22 +57,22 @@ _arguments \
ReadOnlyPaths= InaccessiblePaths= EnvironmentFile= \
ProtectSystem= ProtectHome= RuntimeDirectory= PassEnvironment= \
))' \
{-t,--pty}'[The service connects to the terminal]' \
{-q,--quiet}'[Suppresses additional informational output]' \
{-r,--remain-after-exit}'[Leave service around until explicitly stopped]' \
{-d,--same-dir}'[Run on the current working directory]' \
'(-t --pty)'{-t,--pty}'[The service connects to the terminal]' \
'(-q --quiet)'{-q,--quiet}'[Suppresses additional informational output]' \
'(-r --remain-after-exit)'{-r,--remain-after-exit}'[Leave service around until explicitly stopped]' \
'(-d --same-dir)'{-d,--same-dir}'[Run on the current working directory]' \
'--scope[Run this as scope rather than service]' \
'--send-sighup[Send SIGHUP when terminating]' \
'--service-type=[Service type]:type:(simple forking oneshot dbus notify idle)' \
{-E+,--setenv=}'[Set environment]:NAME=VALUE' \
{-S,--shell}'[requests an interactive shell in the current working directory]' \
'(-E --setenv)'{-E+,--setenv=}'[Set environment]:NAME=VALUE' \
'(-S --shell)'{-S,--shell}'[requests an interactive shell in the current working directory]' \
'--slice=[Run in the specified slice]:slices:__systemd-run_slices' \
'--slice-inherit[Run in the inherited slice]' \
'--socket-property=[Set socket unit property]:NAME=VALUE' \
'--system[Run as system unit]' \
'--timer-property=[Set timer unit property]:NAME=VALUE' \
'--uid=[Run as system user]:user:_users' \
{-u+,--unit=}'[Run under the specified unit name]:unit name' \
'(-u --unit)'{-u+,--unit=}'[Run under the specified unit name]:unit name' \
'--user[Run as user unit]' \
'--version[Show package version]' \
'--wait=[Wait until service stopped again]' \

View File

@ -2,13 +2,22 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
_arguments \
{-h,--help}'[Show help]' \
'--version[Show package version]' \
'(- *)'{-h,--help}'[Show help]' \
'--user[Execute user configuration]' \
'(- *)--version[Show package version]' \
'--cat-config[Show configuration files]' \
'--tldr[Show non-comment parts of configuration]' \
'--create[Create, set ownership/permissions based on the config files.]' \
'--clean[Clean up all files and directories with an age parameter configured.]' \
'--remove[All files and directories marked with r, R in the configuration files are removed.]' \
'--boot[Execute actions only safe at boot]' \
'--prefix=[Only apply rules that apply to paths with the specified prefix.]' \
'--exclude-prefix=[Ignore rules that apply to paths with the specified prefix.]' \
'--graceful[Quietly ignore unknown users or groups]' \
'--prefix=[Only apply rules that apply to paths with the specified prefix.]:PATH' \
'--exclude-prefix=[Ignore rules that apply to paths with the specified prefix.]:PATH' \
'-E[Ignore rules prefixed with /dev, /proc, /run, /sys]' \
'--root=[Operate on an alternate filesystem root]:directory:_directories' \
'--image=[Operate on disk image as filesystem root]:image' \
'--image-policy=[Specify disk image dissection policy]:policy' \
'--replace=[Treat arguments as replacement for PATH]:PATH' \
'--no-pager[Do not pipe output into a pager]' \
'*::files:_files'

View File

@ -59,11 +59,11 @@ _timedatectl_command(){
}
_arguments -s \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'(- *)'{-h,--help}'[Show this help]' \
'(- *)--version[Show package version]' \
'--adjust-system-clock[Adjust system clock when changing local RTC mode]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-ask-password[Do not prompt for password]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'(-H --host)'{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'(-M --machine)'{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'*::timedatectl commands:_timedatectl_command'

View File

@ -4,6 +4,8 @@
(( $+functions[_udevadm_info] )) ||
_udevadm_info(){
_arguments \
'(-)'{-h,--help}'[Print help]' \
'(-)'{-V,--version}'[Print version of the program]' \
'--query=[Query the database for specified type of device data. It needs the --path or --name to identify the specified device.]:type:(name symlink path property all)' \
'--path=[The devpath of the device to query.]:sys files:_files -P /sys/ -W /sys' \
'--name=[The name of the device node or a symlink to query]:device files:_files -P /dev/ -W /dev' \
@ -15,73 +17,76 @@ _udevadm_info(){
'--export-db[Export the content of the udev database.]' \
'--cleanup-db[Cleanup the udev database.]' \
'--value[When showing properties, print only their values.]' \
'--property=[Show only properties by this name.]'
'--property=[Show only properties by this name.]:NAME'
}
(( $+functions[_udevadm_trigger] )) ||
_udevadm_trigger(){
_arguments \
'(-)'{-h,--help}'[Show help]' \
'(-)'{-V,--version}'[Show package version]' \
'--verbose[Print the list of devices which will be triggered.]' \
'--dry-run[Do not actually trigger the event.]' \
'--quiet[Suppress error logging in triggering events.]' \
'--type=[Trigger a specific type of devices.]:types:(all devices subsystems failed)' \
'--action=[Type of event to be triggered.]:actions:(add change remove move online offline bind unbind)' \
'--subsystem-match=[Trigger events for devices which belong to a matching subsystem.]' \
'--subsystem-nomatch=[Do not trigger events for devices which belong to a matching subsystem.]' \
'--attr-match=attribute=[Trigger events for devices with a matching sysfs attribute.]' \
'--attr-nomatch=attribute=[Do not trigger events for devices with a matching sysfs attribute.]' \
'--property-match=[Trigger events for devices with a matching property value.]' \
'--tag-match=property[Trigger events for devices with a matching tag.]' \
'--sysname-match=[Trigger events for devices with a matching sys device name.]' \
'--parent-match=[Trigger events for all children of a given device.]' \
'--subsystem-match=[Trigger events for devices which belong to a matching subsystem.]:SUBSYSTEM' \
'--subsystem-nomatch=[Do not trigger events for devices which belong to a matching subsystem.]:SUBSYSTEM' \
'--attr-match=attribute=[Trigger events for devices with a matching sysfs attribute.]:FILE' \
'--attr-nomatch=attribute=[Do not trigger events for devices with a matching sysfs attribute.]:FILE' \
'--property-match=[Trigger events for devices with a matching property value.]:KEY=VALUE' \
'--tag-match=[Trigger events for devices with a matching tag.]:TAG' \
'--sysname-match=[Trigger events for devices with a matching sys device name.]:NAME' \
'--parent-match=[Trigger events for all children of a given device.]:NAME' \
'--initialized-match[Trigger events for devices that are already initialized.]' \
'--initialized-nomatch[Trigger events for devices that are not initialized yet.]' \
'--uuid[Print synthetic uevent UUID.]' \
'--prioritized-subsystem=[Trigger events for devices which belong to a matching subsystem earlier.]'
'--prioritized-subsystem=[Trigger events for devices which belong to a matching subsystem earlier.]:SUBSYSTEM'
}
(( $+functions[_udevadm_settle] )) ||
_udevadm_settle(){
_arguments \
'--timeout=[Maximum number of seconds to wait for the event queue to become empty.]' \
'--seq-start=[Wait only for events after the given sequence number.]' \
'--seq-end=[Wait only for events before the given sequence number.]' \
'--exit-if-exists=[Stop waiting if file exists.]:files:_files' \
'--quiet[Do not print any output, like the remaining queue entries when reaching the timeout.]' \
'--help[Print help text.]'
'(-)'{-h,--help}'[Print help]' \
'(-)'{-V,--version}'[Print version of the program]' \
'(-t --timeout)'{-t,--timeout=}'[Maximum number of seconds to wait for the event queue to become empty.]:SEC' \
'(-E --exit-if-exists)'{-E,--exit-if-exists=}'[Stop waiting if file exists.]:files:_files'
}
(( $+functions[_udevadm_control] )) ||
_udevadm_control(){
_arguments \
'--exit[Signal and wait for systemd-udevd to exit.]' \
'--log-priority=[Set the internal log level of systemd-udevd.]:priorities:(err info debug)' \
'--stop-exec-queue[Signal systemd-udevd to stop executing new events. Incoming events will be queued.]' \
'--start-exec-queue[Signal systemd-udevd to enable the execution of events.]' \
'--reload[Signal systemd-udevd to reload the rules files and other databases like the kernel module index.]' \
'--property=[Set a global property for all events.]' \
'--children-max=[Set the maximum number of events.]' \
'--timeout=[The maximum number of seconds to wait for a reply from systemd-udevd.]' \
'--help[Print help text.]'
'(-)'{-h,--help}'[Show help]' \
'(-)'{-V,--version}'[Show package version]' \
'(-e --exit)'{-e,--exit}'[Signal and wait for systemd-udevd to exit.]' \
'(-l --log-level)'{-l,--log-level=}'[Set the internal log level of systemd-udevd.]:LEVEL:(err info debug)' \
'(-s --stop-exec-queue)'{-s,--stop-exec-queue}'[Signal systemd-udevd to stop executing new events. Incoming events will be queued.]' \
'(-S --start-exec-queue)'{-S,--start-exec-queue}'[Signal systemd-udevd to enable the execution of events.]' \
'(-R --reload)'{-R,--reload}'[Signal systemd-udevd to reload the rules files and other databases like the kernel module index.]' \
'(-p --property)'{-p,--property=}'[Set a global property for all events.]:KEY=VALUE' \
'(-m --children-max=)'{-m,--children-max=}'[Set the maximum number of events.]:N' \
'(-t --timeout=)'{-t,--timeout=}'[The maximum number of seconds to wait for a reply from systemd-udevd.]:SECONDS'
}
(( $+functions[_udevadm_monitor] )) ||
_udevadm_monitor(){
_arguments \
'--kernel[Print the kernel uevents.]' \
'--udev[Print the udev event after the rule processing.]' \
'--property[Also print the properties of the event.]' \
'--subsystem-match=[Filter events by subsystem/\[devtype\].]' \
'--tag-match=[Filter events by property.]' \
'--help[Print help text.]'
'(-)'{-h,--help}'[Show help]' \
'(-)'{-V,--version}'[Show package version]' \
'(-k --kernel)'{-k,--kernel}'[Print the kernel uevents.]' \
'(-u --udev)'{-u,--udev}'[Print the udev event after the rule processing.]' \
'(-p --property)'{-p,--property}'[Also print the properties of the event.]' \
'(-s --subsystem-match)'{-s,--subsystem-match=}'[Filter events by subsystem/\[devtype\].]:SUBSYSTEM' \
'(-t --tag-match)'{-t,--tag-match=}'[Filter events by property.]:TAG'
}
(( $+functions[_udevadm_test] )) ||
_udevadm_test(){
_arguments \
'(-)'{-h,--help}'[Show help]' \
'(-)'{-V,--version}'[Show package version]' \
'--action=[The action string.]:actions:(add change remove move online offline bind unbind)' \
'--subsystem=[The subsystem string.]' \
'--help[Print help text.]' \
'*::devpath:_files -P /sys/ -W /sys'
}
@ -89,51 +94,55 @@ _udevadm_test(){
_udevadm_test-builtin(){
if (( CURRENT == 2 )); then
_arguments \
'(- *)'{-h,--help}'[Print help]' \
'(- *)'{-V,--version}'[Print version of the program]' \
'--action=[The action string.]:actions:(add change remove move online offline bind unbind)' \
'--help[Print help text]' \
'*::builtins:(blkid btrfs hwdb input_id net_id net_setup_link kmod path_id usb_id uaccess)'
elif (( CURRENT == 3 )); then
_arguments \
'--action=[The action string.]:actions:(add change remove move online offline bind unbind)' \
'--help[Print help text]' \
'(- *)--help[Print help text]' \
'*::syspath:_files -P /sys -W /sys'
else
_arguments \
'--action=[The action string.]:actions:(add change remove move online offline bind unbind)' \
'--help[Print help text]'
'(- *)--help[Print help text]'
fi
}
(( $+functions[_udevadm_verify] )) ||
_udevadm_verify(){
_arguments \
{-N+,--resolve-names=}'[When to resolve names.]:resolve:(early never)' \
'(- *)'{-h,--help}'[Show help]' \
'(- *)'{-V,--version}'[Show package version]' \
'(-N --resolve-names)'{-N+,--resolve-names=}'[When to resolve names.]:resolve:(early never)' \
'--root=[Operate on catalog hierarchy under specified directory]:directories:_directories' \
{--no-summary}'[Do not show summary.]' \
{--no-style}'[Ignore style issues.]' \
{-h,--help}'[Print help text.]' \
--no-summary'[Do not show summary.]' \
--no-style'[Ignore style issues.]' \
'*::files:_files'
}
(( $+functions[_udevadm_wait] )) ||
_udevadm_wait(){
_arguments \
'--timeout=[Maximum number of seconds to wait for the devices being created.]' \
'(- *)'{-h,--help}'[Print help]' \
'(- *)'{-V,--version}'[Print version of the program]' \
'--timeout=[Maximum number of seconds to wait for the devices being created.]:SEC' \
'--initialized=[Wait for devices being initialized by systemd-udevd.]:boolean:(yes no)' \
'--removed[Wait for devices being removed.]' \
'--settle[Also wait for udev queue being empty.]' \
'--help[Print help text.]' \
'*::devpath:_files -P /dev/ -W /dev'
}
(( $+functions[_udevadm_lock] )) ||
_udevadm_lock(){
_arguments \
'--timeout=[Maximum number of seconds to wait for the devices being locked.]' \
'--device=[Block device to lock.]' \
'--backing=[File whose backing block device to lock.]' \
'--print[Only show which block device the lock would be taken on.]' \
'--help[Print help text.]'
'(- *)'{-h,--help}'[Print help]' \
'(- *)'{-V,--version}'[Print version of the program]' \
'(-t --timeout)'{-t,--timeout=}'[Maximum number of seconds to wait for the devices being locked.]:SECS' \
'(-d --device)'{-d,--device=}'[Block device to lock.]:DEVICE' \
'(-b --backing)'{-b,--backing=}'[File whose backing block device to lock.]:FILE' \
'(-p --print)'{-p,--print}'[Only show which block device the lock would be taken on.]'
}
(( $+functions[_udevadm_mounts] )) ||
@ -189,6 +198,6 @@ _udevadm_commands(){
_arguments \
'--debug[Print debug messages to stderr]' \
'--version[Print version number]' \
'--help[Print help text]' \
'(- *)--version[Print version number]' \
'(- *)--help[Print help text]' \
'*::udevadm commands:_udevadm_commands'