[systemd-devel] [PATCH 07/16] shell-comp: Split out zsh _coredumpctl

William Giokas 1007380 at gmail.com
Tue Jul 30 21:22:45 PDT 2013


---
 Makefile.am                               |  3 +++
 shell-completion/zsh/_systemd             | 38 +------------------------------
 shell-completion/zsh/_systemd-coredumpctl | 34 +++++++++++++++++++++++++++
 3 files changed, 38 insertions(+), 37 deletions(-)
 create mode 100644 shell-completion/zsh/_systemd-coredumpctl

diff --git a/Makefile.am b/Makefile.am
index 64d4785..cf764cd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3104,6 +3104,9 @@ bin_PROGRAMS += \
 dist_bashcompletion_DATA += \
 	shell-completion/bash/systemd-coredumpctl
 
+dist_zshcompletion_DATA += \
+	shell-completion/zsh/_systemd-coredumpctl
+
 sysctl_DATA = \
 	sysctl.d/50-coredump.conf
 
diff --git a/shell-completion/zsh/_systemd b/shell-completion/zsh/_systemd
index 70746ef..1d0f840 100644
--- a/shell-completion/zsh/_systemd
+++ b/shell-completion/zsh/_systemd
@@ -1,18 +1,9 @@
-#compdef 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 timedatectl 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
-        systemd-coredumpctl)
-            _arguments \
-                {-o,--output=}'[Write output to FILE]:output file:_files' \
-                '--no-pager[Do not pipe output into a pager]' \
-                {-h,--help}'[Show this help]' \
-                '--version[Show package version]' \
-                '*::systemd-coredumpctl commands:_systemd-coredumpctl_command'
-
-        ;;
         timedatectl)
             _arguments -s \
                 {-h,--help}'[Show this help]' \
@@ -288,33 +279,6 @@ _timedatectl_command(){
         fi
     fi
 }
-_systemd-coredumpctl_command(){
-    local -a _systemd_coredumpctl_cmds
-    _systemd_coredumpctl_cmds=(
-            'list:List available coredumps'
-            'dump:Print coredump to std'
-    )
-    if (( CURRENT == 1 )); then
-        _describe -t commands 'systemd-coredumpctl command' _systemd_coredumpctl_cmds
-    else
-        local curcontext="$curcontext"
-        local -a _dumps
-        cmd="${${_systemd_coredumpctl_cmds[(r)$words[1]:*]%%:*}}"
-        if (( $#cmd  )); then
-			# user can set zstyle ':completion:*:*:systemd-coredumpctl:*' sort no for coredumps to be ordered by date, otherwise they get ordered by pid
-			_dumps=( "${(foa)$(systemd-coredumpctl list | awk 'BEGIN{OFS=":"} /^\s/ {sub(/[[ \t]+/, ""); print $5,$0}' 2>/dev/null)}" )
-            if [[ -n "$_dumps" ]]; then
-                _describe -t pids 'coredumps' _dumps
-            else
-                _message "no coredumps"
-            fi
-        else
-            _message "no more options"
-        fi
-
-    fi
-
-}
 
 (( $+functions[_machinectl_command] )) || _machinectl_command()
 {
diff --git a/shell-completion/zsh/_systemd-coredumpctl b/shell-completion/zsh/_systemd-coredumpctl
new file mode 100644
index 0000000..f5d12cb
--- /dev/null
+++ b/shell-completion/zsh/_systemd-coredumpctl
@@ -0,0 +1,34 @@
+#compdef systemd-coredumpctl
+
+_systemd-coredumpctl_command(){
+    local -a _systemd_coredumpctl_cmds
+    _systemd_coredumpctl_cmds=(
+            'list:List available coredumps'
+            'dump:Print coredump to std'
+    )
+    if (( CURRENT == 1 )); then
+        _describe -t commands 'systemd-coredumpctl command' _systemd_coredumpctl_cmds
+    else
+        local curcontext="$curcontext"
+        local -a _dumps
+        cmd="${${_systemd_coredumpctl_cmds[(r)$words[1]:*]%%:*}}"
+        if (( $#cmd  )); then
+			# user can set zstyle ':completion:*:*:systemd-coredumpctl:*' sort no for coredumps to be ordered by date, otherwise they get ordered by pid
+			_dumps=( "${(foa)$(systemd-coredumpctl list | awk 'BEGIN{OFS=":"} /^\s/ {sub(/[[ \t]+/, ""); print $5,$0}' 2>/dev/null)}" )
+            if [[ -n "$_dumps" ]]; then
+                _describe -t pids 'coredumps' _dumps
+            else
+                _message "no coredumps"
+            fi
+        else
+            _message "no more options"
+        fi
+    fi
+}
+
+_arguments \
+    {-o,--output=}'[Write output to FILE]:output file:_files' \
+    '--no-pager[Do not pipe output into a pager]' \
+    {-h,--help}'[Show this help]' \
+    '--version[Show package version]' \
+    '*::systemd-coredumpctl commands:_systemd-coredumpctl_command'
-- 
1.8.4.rc0.352.g531e8cb



More information about the systemd-devel mailing list