diff options
Diffstat (limited to 'shell-completion/zsh')
-rw-r--r-- | shell-completion/zsh/_hostnamectl | 38 | ||||
-rw-r--r-- | shell-completion/zsh/_systemd | 34 |
2 files changed, 39 insertions, 33 deletions
diff --git a/shell-completion/zsh/_hostnamectl b/shell-completion/zsh/_hostnamectl new file mode 100644 index 0000000000..bc4441d560 --- /dev/null +++ b/shell-completion/zsh/_hostnamectl @@ -0,0 +1,38 @@ +#compdef hostnamectl + +_hosts_or_user_at_host() { + _alternative \ + 'users-hosts:: _user_at_host' \ + 'hosts:: _hosts' +} + +_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" + ) + 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 + [[ $cmd == status ]] && msg="no options" || msg="options for $cmd" + _message "$msg" + 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:_hosts_or_user_at_host' \ + '*::hostnamectl commands:_hostnamectl_command' diff --git a/shell-completion/zsh/_systemd b/shell-completion/zsh/_systemd index 80a14acb99..ce7ea1ad4d 100644 --- a/shell-completion/zsh/_systemd +++ b/shell-completion/zsh/_systemd @@ -1,20 +1,9 @@ -#compdef journalctl hostnamectl localectl timedatectl systemd-coredumpctl udevadm systemd-analyze systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-inhibit systemd-machine-id-setup systemd-notify systemd-nspawn systemd-tmpfiles systemd-tty-ask-password-agent machinectl +#compdef journalctl localectl timedatectl systemd-coredumpctl udevadm systemd-analyze systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-inhibit systemd-machine-id-setup systemd-notify systemd-nspawn systemd-tmpfiles systemd-tty-ask-password-agent machinectl _ctls() { local curcontext="$curcontext" state lstate line case "$service" in - hostnamectl) - _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:_hosts_or_user_at_host' \ - '*::hostnamectl commands:_hostnamectl_command' - ;; journalctl) _arguments -s \ '--since=[Start showing entries newer or of the specified date]:YYYY-MM-DD HH\:MM\:SS' \ @@ -323,27 +312,6 @@ _journal_fields() { _describe 'possible values' _fields } -_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" - ) - 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 - [[ $cmd == status ]] && msg="no options" || msg="options for $cmd" - _message "$msg" - else - _message "unknown hostnamectl command: $words[1]" - fi - fi -} - _localectl_set-locale() { local -a _confs _locales local expl suf |