diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-07-11 08:25:20 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-07-11 09:22:00 -0400 |
commit | 1ed774956406941d4812a3fb4493d2915f130f12 (patch) | |
tree | a9f7a8286351c2e94be2ec9a235dc63c105887d1 | |
parent | dc5cd2b77288dc85c82cb95810cd14caee311e7e (diff) |
shell-completion,man: beef up chassis completions and description
Parameters to hostnamectl command are not optional and should not be marked
as such in the man page.
-rw-r--r-- | man/hostnamectl.xml | 73 | ||||
-rw-r--r-- | shell-completion/bash/hostnamectl | 3 | ||||
-rw-r--r-- | shell-completion/zsh/_hostnamectl | 32 | ||||
-rw-r--r-- | shell-completion/zsh/_localectl | 4 |
4 files changed, 75 insertions, 37 deletions
diff --git a/man/hostnamectl.xml b/man/hostnamectl.xml index eac304012e..a158e67519 100644 --- a/man/hostnamectl.xml +++ b/man/hostnamectl.xml @@ -146,13 +146,14 @@ </varlistentry> <varlistentry> - <term><command>set-hostname [NAME]</command></term> + <term><command>set-hostname <replaceable>NAME</replaceable></command></term> <listitem><para>Set the system - hostname. By default, this will alter - the pretty, the static, and the - transient hostname alike; however, if - one or more of + hostname to + <replaceable>NAME</replaceable>. By + default, this will alter the pretty, + the static, and the transient hostname + alike; however, if one or more of <option>--static</option>, <option>--transient</option>, <option>--pretty</option> are used, @@ -173,55 +174,61 @@ the hostname string is not done if only the transient and/or static host names are set, and the pretty host - name is left untouched. Pass the empty - string <literal></literal> as the - hostname to reset the selected - hostnames to their default (usually + name is left untouched.</para> + + <para>Pass the empty string + <literal></literal> as the hostname to + reset the selected hostnames to their + default (usually <literal>localhost</literal>).</para></listitem> </varlistentry> <varlistentry> - <term><command>set-icon-name [NAME]</command></term> + <term><command>set-icon-name <replaceable>NAME</replaceable></command></term> <listitem><para>Set the system icon - name. The icon name is used by some - graphical applications to visualize - this host. The icon name should follow - the <ulink + name to + <replaceable>NAME</replaceable>. The + icon name is used by some graphical + applications to visualize this host. + The icon name should follow the <ulink url="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">Icon - Naming Specification</ulink>. Pass an - empty string to this operation to - reset the icon name to the default - value, which is determined from chassis - type (see below) and possibly other + Naming Specification</ulink>.</para> + + <para>Pass an empty string to reset + the icon name to the default value, + which is determined from chassis type + (see below) and possibly other parameters.</para></listitem> </varlistentry> <varlistentry> - <term><command>set-chassis [TYPE]</command></term> + <term><command>set-chassis <replaceable>TYPE</replaceable></command></term> - <listitem><para>Set the chassis - type. The chassis type is used by some + <listitem><para>Set the chassis type + to <replaceable>TYPE</replaceable>. + The chassis type is used by some graphical applications to visualize - the host or alter user - interaction. Currently, the following - chassis types are defined: + the host or alter user interaction. + Currently, the following chassis types + are defined: <literal>desktop</literal>, <literal>laptop</literal>, <literal>server</literal>, <literal>tablet</literal>, - <literal>handset</literal>, - <literal>watch</literal>, as well as + <literal>handset</literal>, + <literal>watch</literal>, as well as the special chassis types <literal>vm</literal> and <literal>container</literal> for virtualized systems that lack an - immediate physical chassis. Pass an - empty string to this operation to - reset the chassis type to the default - value which is determined from the - firmware and possibly other - parameters.</para></listitem> + immediate physical chassis.</para> + + <para>Pass an empty string to reset + the chassis type to the default value + which is determined from the firmware + and possibly other parameters.</para> + </listitem> </varlistentry> </variablelist> diff --git a/shell-completion/bash/hostnamectl b/shell-completion/bash/hostnamectl index 9c75da9e7f..22f8f06b69 100644 --- a/shell-completion/bash/hostnamectl +++ b/shell-completion/bash/hostnamectl @@ -39,6 +39,7 @@ _hostnamectl() { [STANDALONE]='status' [ICONS]='set-icon-name' [NAME]='set-hostname' + [CHASSIS]='set-chassis' ) for ((i=0; i < COMP_CWORD; i++)); do @@ -50,6 +51,8 @@ _hostnamectl() { if [[ -z $verb ]]; then comps=${VERBS[*]} + elif __contains_word "$verb" ${VERBS[CHASSIS]}; then + comps='desktop laptop server tablet handset watch vm container' elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[ICONS]} ${VERBS[NAME]}; then comps='' fi diff --git a/shell-completion/zsh/_hostnamectl b/shell-completion/zsh/_hostnamectl index 7effa0489e..be8687609e 100644 --- a/shell-completion/zsh/_hostnamectl +++ b/shell-completion/zsh/_hostnamectl @@ -1,5 +1,30 @@ #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 server tablet handset watch vm container ) + _describe chassis _chassis + else + _message "no more options" + fi +} + _hostnamectl_command() { local -a _hostnamectl_cmds _hostnamectl_cmds=( @@ -14,8 +39,11 @@ _hostnamectl_command() { local curcontext="$curcontext" cmd="${${_hostnamectl_cmds[(r)$words[1]:*]%%:*}}" if (( $#cmd )); then - [[ $cmd == status ]] && msg="no options" || msg="options for $cmd" - _message "$msg" + if [[ $cmd == status ]]; then + _message "no options" + else + _hostnamectl_$cmd + fi else _message "unknown hostnamectl command: $words[1]" fi diff --git a/shell-completion/zsh/_localectl b/shell-completion/zsh/_localectl index 87432da1dc..d8af4d1863 100644 --- a/shell-completion/zsh/_localectl +++ b/shell-completion/zsh/_localectl @@ -22,8 +22,8 @@ _localectl_set-locale() { _localectl_set-keymap() { local -a _keymaps - _keymaps=( ${(f)"$(_call_program locales "$service" list-keymaps)"} ) if (( CURRENT <= 3 )); then + _keymaps=( ${(f)"$(_call_program locales "$service" list-keymaps)"} ) _describe keymaps _keymaps else _message "no more options" @@ -77,7 +77,7 @@ _localectl_command() { if (( $+functions[_localectl_$cmd] )); then _localectl_$cmd else - _message "no more options" + _message "unknown localectl command: $words[1]" fi fi } |