From: Ronan Pigott Date: Wed, 3 Jul 2024 19:33:08 +0000 (-0700) Subject: zsh: add run0 completions X-Git-Tag: v256.2~13 X-Git-Url: http://git-history.diyao.me/?a=commitdiff_plain;h=cc4472c31e11f042dc49f8f37437ae24b9fe65d4;p=systemd%2F.git zsh: add run0 completions (cherry picked from commit ef98603f4b88738be3c262ee4bd06209e5a3edf5) --- 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', ''],