diff options
author | William Giokas <1007380@gmail.com> | 2013-07-29 14:09:48 -0500 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-08-02 10:43:46 -0400 |
commit | 20c8382ba7c65be3aa2d141501cc934262f776ba (patch) | |
tree | c80493eefb1a476faa74ad9e125f624655ac7d4d /shell-completion/zsh/_timedatectl | |
parent | 70e104c4e39d47b3b2a82654bbf1a559b57a9c68 (diff) |
zsh_completion: Split out zsh _timedatectl
Diffstat (limited to 'shell-completion/zsh/_timedatectl')
-rw-r--r-- | shell-completion/zsh/_timedatectl | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/shell-completion/zsh/_timedatectl b/shell-completion/zsh/_timedatectl new file mode 100644 index 0000000000..091b6f10ce --- /dev/null +++ b/shell-completion/zsh/_timedatectl @@ -0,0 +1,71 @@ +#compdef timedatectl + +_timedatectl_set-timezone(){ + local -a _timezones + _timezones=( ${(f)"$(_call_program timezones "${service}" list-timezones)"} ) + compadd "$_timezones[@]" +} + +_timedatectl_set-time(){ + _message "YYYY-MM-DD HH:MM:SS" +} + +_timedatectl_set-local-rtc(){ + local -a _options + _options=( + '0:Maintain RTC in universal time' + '1:Maintain RTC in local time' + ) + _describe options _options +} + +_timedatectl_set-ntp(){ + local -a _options + _options=( + '0:Disable NTP based network time configuration' + '1:Enable NTP based network time configuration' + ) + _describe options _options +} + +_timedatectl_command(){ + local -a _timedatectl_cmds + _timedatectl_cmds=( + 'status:Show current time settings' + 'set-time:Set system time' + 'set-timezone:Set system timezone' + 'list-timezones:Show known timezones' + 'set-local-rtc:Control whether RTC is in local time' + 'set-ntp:Control whether NTP is enabled' + ) + if (( CURRENT == 1 )); then + _describe -t commands 'timedatectl command' _timedatectl_cmds + else + local curcontext="$curcontext" + cmd="${${_timedatectl_cmds[(r)$words[1]:*]%%:*}}" + if (( $#cmd )); then + if (( $+functions[_timedatectl_$cmd] )); then + _timedatectl_$cmd + else + _message "no more options" + fi + else + _message "unknown timedatectl command: $words[1]" + fi + fi +} + +_hosts_or_user_at_host() { + _alternative \ + 'users-hosts:: _user_at_host' \ + 'hosts:: _hosts' +} + +_arguments -s \ + {-h,--help}'[Show this help]' \ + '--version[Show package version]' \ + '--adjust-system-clock[Adjust system clock when changing local RTC mode]' \ + '--no-pager[Do not pipe output into a pager]' \ + '--no-ask-password[Do not prompt for password]' \ + {-H,--host=}'[Operate on remote host]:userathost:_hosts_or_user_at_host' \ + '*::timedatectl commands:_timedatectl_command' |