diff options
author | William Giokas <1007380@gmail.com> | 2013-11-07 16:00:51 -0600 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-11-09 19:02:53 -0500 |
commit | c0fd7cbd7a3a0aab503393e648b33b6ad49ec485 (patch) | |
tree | 56087053bdf2c1ebf0336cf8c83e542cc3be887b /shell-completion | |
parent | a02c5fe7cbad3ca0536286ceab0bde5fb1c0ba13 (diff) |
zsh-completion: Move machine listing to autoload
Instead of having two different listings of machines, use an autoloaded
function that can be used by other shell completions in the future. It
will also allow editing a single file to change the way machinectl and
systemd-run completion for machines.
Diffstat (limited to 'shell-completion')
-rw-r--r-- | shell-completion/zsh/_machinectl | 7 | ||||
-rw-r--r-- | shell-completion/zsh/_sd_machines | 13 | ||||
-rw-r--r-- | shell-completion/zsh/_systemd-run | 17 |
3 files changed, 15 insertions, 22 deletions
diff --git a/shell-completion/zsh/_machinectl b/shell-completion/zsh/_machinectl index 2e5e05cfc..026d74fca 100644 --- a/shell-completion/zsh/_machinectl +++ b/shell-completion/zsh/_machinectl @@ -19,12 +19,7 @@ case $cmd in list) msg="no options" ;; *) - _machines=( "${(foa)$(machinectl list | awk '{print $1}')}" ) - if [[ -n "$_machines" ]]; then - _describe 'machines' _machines - else - _message 'no machines' - fi + _sd_machines esac else _message "no more options" diff --git a/shell-completion/zsh/_sd_machines b/shell-completion/zsh/_sd_machines new file mode 100644 index 000000000..1d64d13b1 --- /dev/null +++ b/shell-completion/zsh/_sd_machines @@ -0,0 +1,13 @@ +#autoload +__get_machines () { + machinectl --full --no-pager list | {while read -r a b; do echo $a; done;}; +} + +local -a _machines +_machines=("${(fo)$(__get_machines)}") +typeset -U _machines +if [[ -n "$_machines" ]]; then + _describe 'machines' _machines +else + _message 'no machines' +fi diff --git a/shell-completion/zsh/_systemd-run b/shell-completion/zsh/_systemd-run index 4bfbd196c..9bb770072 100644 --- a/shell-completion/zsh/_systemd-run +++ b/shell-completion/zsh/_systemd-run @@ -18,27 +18,12 @@ __slices () { _describe 'slices' _slices } -__get_machines () { - machinectl --full --no-pager list | {while read -r a b; do echo $a; done;}; -} - -__machines () { - local -a _machines - _machines=("${(fo)$(__get_machines)}") - typeset -U _machines - if [[ -n "$_machines" ]]; then - _describe 'machines' _machines - else - _message 'no machines' - fi -} - _arguments \ {-h,--help}'[Show help message]' \ '--version[Show package version]' \ '--user[Run as user unit]' \ {-H+,--host=}'[Operate on remote host]:[user@]host:_sd_hosts_or_user_at_host' \ - {-M+,--machine=}'[Operate on local container]:machines:__machines' \ + {-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \ '--scope[Run this as scope rather than service]' \ '--unit=[Run under the specified unit name]:unit name' \ '--description=[Description for unit]:description' \ |