1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-07 18:27:04 +03:00
systemd/shell-completion/zsh/_hostnamectl
David Herrmann 34b52450c5 hostname: add 'convertible' chassis type
Add the 'convertible' type to the set of allowed chassis. This applies
to all devices that can be transformed by the user from laptop style to
tablet style.

This does not add any auto-detection, yet. It only makes 'set-chassis'
accept 'convertible' as valid input.
2017-02-28 11:54:52 +01:00

81 lines
2.2 KiB
Plaintext

#compdef hostnamectl
_hostnamectl_set-hostname() {
if (( CURRENT <= 3 )); then
_message "new hostname"
else
_message "no more options"
fi
}
_hostnamectl_set-icon-name() {
if (( CURRENT <= 3 )); then
_message "new icon name"
else
_message "no more options"
fi
}
_hostnamectl_set-chassis() {
if (( CURRENT <= 3 )); then
_chassis=( desktop laptop convertible server tablet handset watch embedded vm container )
_describe chassis _chassis
else
_message "no more options"
fi
}
_hostnamectl_set-deployment() {
if (( CURRENT <= 3 )); then
_message "new environment"
else
_message "no more options"
fi
}
_hostnamectl_set-location() {
if (( CURRENT <= 3 )); then
_message "new location"
else
_message "no more options"
fi
}
_hostnamectl_command() {
local -a _hostnamectl_cmds
_hostnamectl_cmds=(
"status:Show current hostname settings"
"set-hostname:Set system hostname"
"set-icon-name:Set icon name for host"
"set-chassis:Set chassis type for host"
"set-deployment:Set deployment environment for host"
"set-location:Set location for host"
)
if (( CURRENT == 1 )); then
_describe -t commands 'hostnamectl commands' _hostnamectl_cmds || compadd "$@"
else
local curcontext="$curcontext"
cmd="${${_hostnamectl_cmds[(r)$words[1]:*]%%:*}}"
if (( $#cmd )); then
if [[ $cmd == status ]]; then
_message "no options"
else
_hostnamectl_$cmd
fi
else
_message "unknown hostnamectl command: $words[1]"
fi
fi
}
_arguments -s \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
'--transient[Only set transient hostname]' \
'--static[Only set static hostname]' \
'--pretty[Only set pretty hostname]' \
'--no-ask-password[Do not prompt for password]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'*::hostnamectl commands:_hostnamectl_command'