1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-27 01:57:35 +03:00

zsh_completion: Move helper function to autoload

_hosts_or_user_at_host was used by 6 different completions, and
previously was in all 6 of those files. I moved it out to its own file,
_sd_hosts_or_user_at_host. This will be autoloaded for use in other
completion functions. It also allows external completions to use this
function by simply calling _sd_hosts_or_user_at_host as in the systemd
completions.
This commit is contained in:
William Giokas 2013-08-12 12:41:18 -05:00 committed by Zbigniew Jędrzejewski-Szmek
parent 693093c6db
commit 3e7f60ab32
8 changed files with 12 additions and 36 deletions

View File

@ -350,6 +350,7 @@ dist_zshcompletion_DATA = \
shell-completion/zsh/_kernel-install \ shell-completion/zsh/_kernel-install \
shell-completion/zsh/_systemd-nspawn \ shell-completion/zsh/_systemd-nspawn \
shell-completion/zsh/_systemd-analyze \ shell-completion/zsh/_systemd-analyze \
shell-completion/zsh/_sd_hosts_or_user_at_host \
shell-completion/zsh/_systemd shell-completion/zsh/_systemd
dist_sysctl_DATA = \ dist_sysctl_DATA = \

View File

@ -1,11 +1,5 @@
#compdef hostnamectl #compdef hostnamectl
_hosts_or_user_at_host() {
_alternative \
'users-hosts:: _user_at_host' \
'hosts:: _hosts'
}
_hostnamectl_command() { _hostnamectl_command() {
local -a _hostnamectl_cmds local -a _hostnamectl_cmds
_hostnamectl_cmds=( _hostnamectl_cmds=(
@ -34,5 +28,5 @@ _arguments -s \
'--static[Only set static hostname]' \ '--static[Only set static hostname]' \
'--pretty[Only set pretty hostname]' \ '--pretty[Only set pretty hostname]' \
'--no-ask-password[Do not prompt for password]' \ '--no-ask-password[Do not prompt for password]' \
{-H,--host=}'[Operate on remote host]:userathost:_hosts_or_user_at_host' \ {-H,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'*::hostnamectl commands:_hostnamectl_command' '*::hostnamectl commands:_hostnamectl_command'

View File

@ -73,17 +73,11 @@ _localectl_command() {
fi fi
} }
_hosts_or_user_at_host() {
_alternative \
'users-hosts:: _user_at_host' \
'hosts:: _hosts'
}
_arguments \ _arguments \
{-h,--help}'[Show this help]' \ {-h,--help}'[Show this help]' \
'--version[Show package version]' \ '--version[Show package version]' \
"--no-convert[Don't convert keyboard mappings]" \ "--no-convert[Don't convert keyboard mappings]" \
'--no-pager[Do not pipe output into a pager]' \ '--no-pager[Do not pipe output into a pager]' \
'--no-ask-password[Do not prompt for password]' \ '--no-ask-password[Do not prompt for password]' \
{-H,--host=}'[Operate on remote host]:userathost:_hosts_or_user_at_host' \ {-H,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'*::localectl commands:_localectl_command' '*::localectl commands:_localectl_command'

View File

@ -1,11 +1,5 @@
#compdef loginctl #compdef loginctl
_hosts_or_user_at_host() {
_alternative \
'users-hosts:: _user_at_host' \
'hosts:: _hosts'
}
_loginctl_all_sessions(){_sys_all_sessions=($(loginctl list-sessions | { while read a b; do echo " $a"; done; }) )} _loginctl_all_sessions(){_sys_all_sessions=($(loginctl list-sessions | { while read a b; do echo " $a"; done; }) )}
_loginctl_all_users() {_sys_all_users=( $(loginctl list-users | { while read a b; do echo " $a"; done; }) )} _loginctl_all_users() {_sys_all_users=( $(loginctl list-users | { while read a b; do echo " $a"; done; }) )}
_loginctl_all_seats() {_sys_all_seats=( $(loginctl list-seats | { while read a b; do echo " $a"; done; }) )} _loginctl_all_seats() {_sys_all_seats=( $(loginctl list-seats | { while read a b; do echo " $a"; done; }) )}
@ -106,7 +100,7 @@ _arguments -s \
'--kill-who=[Who to send signal to]:killwho:(main control all)' \ '--kill-who=[Who to send signal to]:killwho:(main control all)' \
{-s,--signal=}'[Which signal to send]:signal:_signals' \ {-s,--signal=}'[Which signal to send]:signal:_signals' \
'--no-ask-password[Do not ask for system passwords]' \ '--no-ask-password[Do not ask for system passwords]' \
{-H,--host=}'[Show information for remote host]:userathost:_hosts_or_user_at_host' \ {-H,--host=}'[Show information for remote host]:userathost:_sd_hosts_or_user_at_host' \
{-P,--privileged}'[Acquire privileges before execution]' \ {-P,--privileged}'[Acquire privileges before execution]' \
'--no-pager[Do not pipe output into a pager]' \ '--no-pager[Do not pipe output into a pager]' \
'*::loginctl command:_loginctl_command' '*::loginctl command:_loginctl_command'

View File

@ -42,6 +42,6 @@ _arguments \
'--no-ask-password[Do not ask for system passwords]' \ '--no-ask-password[Do not ask for system passwords]' \
'--kill-who=[Who to send signal to]:killwho:(leader all)' \ '--kill-who=[Who to send signal to]:killwho:(leader all)' \
{-s,--signal=}'[Which signal to send]:signal:_signals' \ {-s,--signal=}'[Which signal to send]:signal:_signals' \
{-H,--host=}'[Show information for remote host]:userathost:_hosts_or_user_at_host' \ {-H,--host=}'[Show information for remote host]:userathost:_sd_hosts_or_user_at_host' \
{-P,--privileged}'[Acquire privileges before execution]' \ {-P,--privileged}'[Acquire privileges before execution]' \
'*::machinectl command:_machinectl_command' '*::machinectl command:_machinectl_command'

View File

@ -0,0 +1,5 @@
#autoload
_alternative \
'users-hosts:: _user_at_host' \
'hosts:: _hosts'

View File

@ -288,12 +288,6 @@ _systemctl_caching_policy()
return 1 return 1
} }
_hosts_or_user_at_host() {
_alternative \
'users-hosts:: _user_at_host' \
'hosts:: _hosts'
}
_outputmodes() { _outputmodes() {
local -a _output_opts local -a _output_opts
_output_opts=(short short-monotonic verbose export json json-pretty json-see cat) _output_opts=(short short-monotonic verbose export json json-pretty json-see cat)
@ -332,7 +326,7 @@ _arguments -s \
{-f,--force}'[When enabling unit files, override existing symlinks. When shutting down, execute action immediately]' \ {-f,--force}'[When enabling unit files, override existing symlinks. When shutting down, execute action immediately]' \
'--root=[Enable unit files in the specified root directory]:directory:_directories' \ '--root=[Enable unit files in the specified root directory]:directory:_directories' \
'--runtime[Enable unit files only temporarily until next reboot]' \ '--runtime[Enable unit files only temporarily until next reboot]' \
{-H,--host=}'[Show information for remote host]:userathost:_hosts_or_user_at_host' \ {-H,--host=}'[Show information for remote host]:userathost:_sd_hosts_or_user_at_host' \
{-P,--privileged}'[Acquire privileges before execution]' \ {-P,--privileged}'[Acquire privileges before execution]' \
{-n,--lines=}'[Journal entries to show]:number of entries' \ {-n,--lines=}'[Journal entries to show]:number of entries' \
{-o,--output=}'[Change journal output mode]:modes:_outputmodes' \ {-o,--output=}'[Change journal output mode]:modes:_outputmodes' \

View File

@ -55,17 +55,11 @@ _timedatectl_command(){
fi fi
} }
_hosts_or_user_at_host() {
_alternative \
'users-hosts:: _user_at_host' \
'hosts:: _hosts'
}
_arguments -s \ _arguments -s \
{-h,--help}'[Show this help]' \ {-h,--help}'[Show this help]' \
'--version[Show package version]' \ '--version[Show package version]' \
'--adjust-system-clock[Adjust system clock when changing local RTC mode]' \ '--adjust-system-clock[Adjust system clock when changing local RTC mode]' \
'--no-pager[Do not pipe output into a pager]' \ '--no-pager[Do not pipe output into a pager]' \
'--no-ask-password[Do not prompt for password]' \ '--no-ask-password[Do not prompt for password]' \
{-H,--host=}'[Operate on remote host]:userathost:_hosts_or_user_at_host' \ {-H,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
'*::timedatectl commands:_timedatectl_command' '*::timedatectl commands:_timedatectl_command'