diff options
author | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:00:17 +0100 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:00:17 +0100 |
commit | 87aba4d437f5fef46917c1235c00b9162d7bcbd0 (patch) | |
tree | ce578175d1248d14b8237ad86121b9396550c226 /Completion/BSD/Command/_acpiconf | |
parent | db01c79cf83290b9ac9d77e66d832551b7022f71 (diff) | |
download | zsh-87aba4d437f5fef46917c1235c00b9162d7bcbd0.tar.gz zsh-87aba4d437f5fef46917c1235c00b9162d7bcbd0.zip |
53325: cover newer BSD releases in completion
Diffstat (limited to 'Completion/BSD/Command/_acpiconf')
-rw-r--r-- | Completion/BSD/Command/_acpiconf | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Completion/BSD/Command/_acpiconf b/Completion/BSD/Command/_acpiconf new file mode 100644 index 000000000..817a2f1ad --- /dev/null +++ b/Completion/BSD/Command/_acpiconf @@ -0,0 +1,28 @@ +#compdef acpiconf + +local curcontext="$curcontext" sep ret=1 +local -a state line modes desc +local -A opt_args + +_arguments -s \ + '(-)-h[display usage information]' \ + '(-)-i[get battery information]:battery' \ + '(-)-k[ack or abort a pending suspend]:ack' \ + '(-)-s[enter specified sleep mode]: :->modes' && ret=0 + +if [[ -n $state ]]; then + modes=( $(_call_program modes sysctl -n hw.acpi.supported_sleep_state) ) + zstyle -s ":completion:${curcontext}:modes" list-separator sep || sep=-- + (( $#modes )) || modes=( S3 S4 ) + desc=( + "S1 $sep stop the processor clock" + "S2 $sep low wake latency sleep state" + "S3 $sep suspend to RAM" + "S4 $sep suspend to disk" + "S5 $sep soft off state" + ) + desc=( ${(M)desc:#(${(~j.|.)modes}) *} ) + _wanted modes expl 'mode' compadd -M 'B:S=' -ld desc - ${modes#S} && ret=0 +fi + +return ret |