diff options
author | Ronan Pigott <ronan@rjp.ie> | 2024-07-03 21:33:08 +0200 |
---|---|---|
committer | Luca Boccassi <luca.boccassi@gmail.com> | 2024-07-04 01:21:43 +0200 |
commit | ef98603f4b88738be3c262ee4bd06209e5a3edf5 (patch) | |
tree | 0ffbe271e98b6cbc17716d2c459037d9ce115945 /shell-completion | |
parent | Merge pull request #33608 from DaanDeMeyer/hacking (diff) | |
download | systemd-ef98603f4b88738be3c262ee4bd06209e5a3edf5.tar.xz systemd-ef98603f4b88738be3c262ee4bd06209e5a3edf5.zip |
zsh: add run0 completions
Diffstat (limited to 'shell-completion')
-rw-r--r-- | shell-completion/zsh/_run0 | 57 | ||||
-rw-r--r-- | shell-completion/zsh/meson.build | 1 |
2 files changed, 58 insertions, 0 deletions
diff --git a/shell-completion/zsh/_run0 b/shell-completion/zsh/_run0 new file mode 100644 index 0000000000..b354462c81 --- /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/meson.build b/shell-completion/zsh/meson.build index ebe79f3985..acbf34e7a8 100644 --- a/shell-completion/zsh/meson.build +++ b/shell-completion/zsh/meson.build @@ -21,6 +21,7 @@ items = [['_busctl', ''], ['_systemd', ''], ['_systemd-path', ''], ['_systemd-run', ''], + ['_run0', ''], ['_udevadm', ''], ['_kernel-install', 'ENABLE_KERNEL_INSTALL'], ['_sd_hosts_or_user_at_host', ''], |