summaryrefslogtreecommitdiffstats
path: root/shell-completion
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--shell-completion/bash/udevadm5
-rw-r--r--shell-completion/zsh/_networkctl2
-rw-r--r--shell-completion/zsh/_run057
-rw-r--r--shell-completion/zsh/_varlinkctl52
-rw-r--r--shell-completion/zsh/meson.build2
5 files changed, 113 insertions, 5 deletions
diff --git a/shell-completion/bash/udevadm b/shell-completion/bash/udevadm
index 05f921c..3842d72 100644
--- a/shell-completion/bash/udevadm
+++ b/shell-completion/bash/udevadm
@@ -32,10 +32,7 @@ __get_all_sysdevs() {
}
__get_all_device_nodes() {
- local i
- for i in /dev/* /dev/*/* /dev/*/*/*; do
- echo $i
- done
+ find /dev -xtype b -o -xtype c
}
__get_all_device_units() {
diff --git a/shell-completion/zsh/_networkctl b/shell-completion/zsh/_networkctl
index 6969797..ad5b91f 100644
--- a/shell-completion/zsh/_networkctl
+++ b/shell-completion/zsh/_networkctl
@@ -29,7 +29,7 @@
(list|status|up|down|cat|edit|lldp|delete|renew|forcerenew|reconfigure)
for link in ${(f)"$(_call_program links networkctl list --no-legend)"}; do _links+=($link[(w)2]:$link); done
if [[ -n "$_links" ]]; then
- _describe -t links 'links' _links _links $( [[ $cmd == (edit|cat) ]] && print -- -P@ )
+ _describe -t links 'links' _links $( [[ $cmd == (edit|cat) ]] && print -- -P@ )
else
_message "no links"
fi
diff --git a/shell-completion/zsh/_run0 b/shell-completion/zsh/_run0
new file mode 100644
index 0000000..b354462
--- /dev/null
+++ b/shell-completion/zsh/_run0
@@ -0,0 +1,57 @@
+#compdef run0
+
+(( $+functions[_run0_unit_properties] )) ||
+_run0_unit_properties() {
+ local -a props=(
+ BlockIOAccounting BlockIODeviceWeight BlockIOReadBandwidth
+ BlockIOWeight BlockIOWriteBandwidth CPUAccounting
+ CPUShares DeviceAllow DevicePolicy
+ Environment EnvironmentFile ExitType
+ FinalKillSignal Group InaccessiblePaths
+ KillMode KillSignal LimitAS
+ LimitCORE LimitCPU LimitDATA
+ LimitFSIZE LimitLOCKS LimitMEMLOCK
+ LimitMSGQUEUE LimitNICE LimitNOFILE
+ LimitNPROC LimitRSS LimitRTPRIO
+ LimitRTTIME LimitSIGPENDING LimitSTACK
+ MemoryAccounting MemoryLimit Nice
+ NoNewPrivileges OOMScoreAdjust PassEnvironment
+ PrivateDevices PrivateNetwork PrivateTmp
+ ProtectHome ProtectSystem ReadOnlyPaths
+ ReadWritePaths RestartKillSignal RootDirectory
+ RuntimeDirectory SendSIGHUP SendSIGKILL
+ SyslogFacility SyslogIdentifier SyslogLevel
+ SyslogLevelPrefix TTYPath TimerSlackNSec
+ User WorkingDirectory
+ )
+ _values -S= 'properties' ${^props}'::()'
+}
+
+(( $+functions[_run0_slices] )) ||
+_run0_slices() {
+ local -a slices=(
+ ${(@f)"$(_call_program slice-units systemctl --no-pager --legend=no --plain list-units --all -t slice 2>/dev/null)"}
+ )
+ slices=( ${slices%% *} )
+ _describe -t slice-units 'slice unit' slices
+}
+
+local -a args=(
+ '--no-ask-password[Do not query the user for authentication]'
+ '--unit=[Use this unit name instead of an automatically generated one]'
+ {--property=,-p+}'[Sets a property on the service unit created]:property:_run0_unit_properties'
+ '--description=[Provide a description for the service unit]'
+ '--slice=[Make the new .service unit part of the specified slice]:slice unit:_run0_slices'
+ '--slice-inherit[Make the new service unit part of the current slice]'
+ {--user=,-u+}'[Switch to the specified user]:user:_users'
+ {--group=,-g+}'[Switch to the specified group]:group:_groups'
+ '--nice=[Run with specified nice level]:nice value'
+ {--chdir=,-D+}'[Run within the specified working directory]:directory:_files -/'
+ '--setenv=[Set the specified environment variable in the session]:environment variable:_parameters -g "*export*" -S = -q'
+ '--background=[Change the terminal background color to the specified ANSI color]:ansi color'
+ '--machine=[Execute the operation on a local container]:machine:_sd_machines'
+ {-h,--help}'[Show the help text and exit]'
+ '--version[Print a short version string and exit]'
+)
+
+_arguments -S $args '*:: :{_normal -p $service}'
diff --git a/shell-completion/zsh/_varlinkctl b/shell-completion/zsh/_varlinkctl
new file mode 100644
index 0000000..720700d
--- /dev/null
+++ b/shell-completion/zsh/_varlinkctl
@@ -0,0 +1,52 @@
+#compdef varlinkctl
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+local -a reply line
+
+_varlinkctl_interfaces() {
+ local expl
+ _wanted varlink-interfaces expl interface compadd "$@" -- \
+ "${(@f)$(_call_program varlink-interfaces varlinkctl list-interfaces $line[2])}"
+}
+
+_varlinkctl_methods() {
+ local expl
+ _wanted varlink-interfaces expl method compadd "$@" -- \
+ "${(@f)$(_call_program varlink-methods varlinkctl list-methods $line[2])}"
+}
+
+local -a varlink_addr=(
+ /$'[^\0]#\0'/ ':varlink-address:varlink address:_files -g "*(=)"'
+)
+local -a varlink_interface=(
+ $varlink_addr
+ /$'[^\0]#\0'/ ':varlink-interface:varlink interface:_varlinkctl_interfaces'
+)
+local -a varlink_method=(
+ $varlink_addr
+ /$'[^\0]#\0'/ ':varlink-method:varlink method:_varlinkctl_methods'
+)
+local -a varlink_call=($varlink_method /$'[^\0]#\0'/ ':argument:argument:()')
+local -a varlink_idl=(/$'[^\0]#\0'/ ':varlink-idl-file:idl file:_files')
+
+_regex_words varlink-commands 'varlink command' \
+ 'info:show service information:$varlink_addr' \
+ 'list-interfaces:List interfaces implemented by a service:$varlink_addr' \
+ 'list-methods:List methods implemented by an interface:$varlink_interface' \
+ 'introspect:show an interface definition:$varlink_interface' \
+ 'call:invoke a method:$varlink_call' \
+ 'validate-idl:validate an interface description:$varlink_idl' \
+ 'help:show a help message'
+
+local -a varlinkcmd=( /$'[^\0]#\0'/ "$reply[@]" )
+_regex_arguments _varlinkctl_command "$varlinkcmd[@]"
+
+local -a opts=(
+ {-h,--help}'[Show a help message and exit]'
+ '--version[Show package version and exit]'
+ '--no-pager[Do not pipe output to a pager]'
+ '--more[Request multiple responses]'
+ '--collect[Collect multiple responses in a JSON array]'
+ {-j+,--json=}'[Output as json]:json-mode:(pretty short)'
+)
+_arguments -S $opts '*:: := _varlinkctl_command'
diff --git a/shell-completion/zsh/meson.build b/shell-completion/zsh/meson.build
index ebe79f3..ea540c7 100644
--- a/shell-completion/zsh/meson.build
+++ b/shell-completion/zsh/meson.build
@@ -21,7 +21,9 @@ items = [['_busctl', ''],
['_systemd', ''],
['_systemd-path', ''],
['_systemd-run', ''],
+ ['_run0', ''],
['_udevadm', ''],
+ ['_varlinkctl', ''],
['_kernel-install', 'ENABLE_KERNEL_INSTALL'],
['_sd_hosts_or_user_at_host', ''],
['_sd_outputmodes', ''],