summaryrefslogtreecommitdiffstats
path: root/shell-completion
diff options
context:
space:
mode:
authorWilliam Giokas <1007380@gmail.com>2013-11-07 23:00:51 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-11-10 01:02:53 +0100
commitc0fd7cbd7a3a0aab503393e648b33b6ad49ec485 (patch)
tree56087053bdf2c1ebf0336cf8c83e542cc3be887b /shell-completion
parentzsh-completion: Move output modes to autoload (diff)
downloadsystemd-c0fd7cbd7a3a0aab503393e648b33b6ad49ec485.tar.xz
systemd-c0fd7cbd7a3a0aab503393e648b33b6ad49ec485.zip
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/_machinectl7
-rw-r--r--shell-completion/zsh/_sd_machines13
-rw-r--r--shell-completion/zsh/_systemd-run17
3 files changed, 15 insertions, 22 deletions
diff --git a/shell-completion/zsh/_machinectl b/shell-completion/zsh/_machinectl
index 2e5e05cfcc..026d74fca4 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 0000000000..1d64d13b1a
--- /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 4bfbd196ca..9bb770072e 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' \