Re: [systemd-devel] [PATCH v2] shell-completion: Add machinectl zsh completion

2013-07-24 Thread Zbigniew Jędrzejewski-Szmek
On Tue, Jul 23, 2013 at 09:55:22PM -0500, William Giokas wrote:
 
  shell-completion/systemd-zsh-completion.zsh | 49 
 -
  1 file changed, 48 insertions(+), 1 deletion(-)
Applied.

Zbyszek
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH v2] shell-completion: Add machinectl zsh completion

2013-07-23 Thread William Giokas
---

Add optional '=' to --property

 shell-completion/systemd-zsh-completion.zsh | 49 -
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/shell-completion/systemd-zsh-completion.zsh 
b/shell-completion/systemd-zsh-completion.zsh
index c85e00e..b62b6df 100644
--- a/shell-completion/systemd-zsh-completion.zsh
+++ b/shell-completion/systemd-zsh-completion.zsh
@@ -1,4 +1,4 @@
-#compdef systemctl loginctl 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
+#compdef systemctl loginctl 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
 
 _ctls()
 {
@@ -263,6 +263,21 @@ _ctls()
 '--plymouth[Ask question with plymouth(8).]' \
 '--console[Ask question on /dev/console.]'
 ;;
+machinectl)
+_arguments \
+{-h,--help}'[Prints a short help text and exits.]' \
+'--version[Prints a short version string and exits.]' \
+{-p,--property=}'[Limit output to specified 
property.]:property:(Name Id Timestamp TimestampMonotonic Service Scope Leader 
Class State RootDirectory)' \
+{-a,--all}'[Show all proerties]' \
+(-l,--full)'[Do not ellipsize cgroup members]' \
+'--no-pager[Do not pipe output into a pager]' \
+'--no-ask-password[Do not ask for system passwords]' \
+'--kill-who=[Who to send signal to]:killwho:(leader all)' \
+{-s,--signal=}'[Which signal to send]:signal:_signals' \
+{-H,--host=}'[Show information for remote 
host]:userathost:_hosts_or_user_at_host' \
+{-P,--privileged}'[Acquire privileges before execution]' \
+'*::machinectl command:_machinectl_command'
+;;
 *) _message 'eh?' ;;
 esac
 }
@@ -916,6 +931,38 @@ _systemd-coredumpctl_command(){
 
 }
 
+(( $+functions[_machinectl_command] )) || _machinectl_command()
+{
+  local -a _machinectl_cmds
+  _machinectl_cmds=(
+list:List currently running VMs/containers
+status:Show VM/container status
+show:Show properties of one or more VMs/containers
+terminate:Terminate one or more VMs/containers
+kill:Send signal to process or a VM/container
+  )
+  if (( CURRENT == 1 )); then
+_describe -t commands 'machinectl command' _machinectl_cmds || compadd $@
+  else
+local curcontext=$curcontext
+cmd=${${_machinectl_cmds[(r)$words[1]:*]%%:*}}
+if (( $#cmd )); then
+  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
+  esac
+else
+  _message no more options
+fi
+  fi
+}
+
 _udevadm_info(){
 _arguments \
 '--query=[Query the database for specified type of device data. It 
needs the --path or --name to identify the specified device.]:type:(name 
symlink path property all)' \
-- 
1.8.3.4.1180.ge27c933

___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel