diff options
Diffstat (limited to '')
-rw-r--r-- | shell-completion/bash/udevadm | 5 | ||||
-rw-r--r-- | shell-completion/zsh/_networkctl | 2 | ||||
-rw-r--r-- | shell-completion/zsh/_run0 | 57 | ||||
-rw-r--r-- | shell-completion/zsh/_varlinkctl | 52 | ||||
-rw-r--r-- | shell-completion/zsh/meson.build | 2 |
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', ''], |