Re: [systemd-devel] [PATCH] zsh_completion: complete only pids for systemd-coredumpctl

2013-05-06 Thread Lennart Poettering
On Sun, 05.05.13 18:09, Daniel Wallace (danielwall...@gtmanfred.com) wrote:

 Instead of completing the whole line, which doesn't work, only complete
 the pid, but still show the whole line so the user can see which command
 was which.

Thanks! Applied!

Lennart

-- 
Lennart Poettering - Red Hat, Inc.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH] zsh_completion: complete only pids for systemd-coredumpctl

2013-05-05 Thread Daniel Wallace
Instead of completing the whole line, which doesn't work, only complete
the pid, but still show the whole line so the user can see which command
was which.

Users can also let the parameter expansion sort the completion by date
instead of by pid, by setting

zstyle ':completion:*:*:systemd-coredumpctl:*' sort no

so that the zshcompsys doesn't sort the _describe function for only
systemd-coredumpctl.
---
 shell-completion/systemd-zsh-completion.zsh | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/shell-completion/systemd-zsh-completion.zsh 
b/shell-completion/systemd-zsh-completion.zsh
index b29a2e9..411646e 100644
--- a/shell-completion/systemd-zsh-completion.zsh
+++ b/shell-completion/systemd-zsh-completion.zsh
@@ -896,12 +896,13 @@ _systemd-coredumpctl_command(){
 _describe -t commands 'systemd-coredumpctl command' 
_systemd_coredumpctl_cmds
 else
 local curcontext=$curcontext
-local -a dumps
+local -a _dumps
 cmd=${${_systemd_coredumpctl_cmds[(r)$words[1]:*]%%:*}}
 if (( $#cmd  )); then
-dumps=( ${(f)$(_call_program dumps systemd-coredumpctl list 
2/dev/null)} )
-if [[ -n $dumps ]]; then
-compadd ${dumps[@]}
+   # 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
-- 
1.8.2.2

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