mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-03 22:32:12 +02:00
28 lines
844 B
Text
28 lines
844 B
Text
#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
|