about summary refs log tree commit diff
path: root/Completion/Base/_jobs
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-11-12 15:28:24 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-11-12 15:28:24 +0000
commite6282df1155e8d9b08b2e518a452c1997973f1ce (patch)
treeb0c8ed7e8512cc4397ae7df6d138ea66147565b3 /Completion/Base/_jobs
parent167b0ae3b98938f75287dcf2e112d41a03532c5f (diff)
downloadzsh-e6282df1155e8d9b08b2e518a452c1997973f1ce.tar.gz
zsh-e6282df1155e8d9b08b2e518a452c1997973f1ce.tar.xz
zsh-e6282df1155e8d9b08b2e518a452c1997973f1ce.zip
manual/8630
Diffstat (limited to 'Completion/Base/_jobs')
-rw-r--r--Completion/Base/_jobs18
1 files changed, 14 insertions, 4 deletions
diff --git a/Completion/Base/_jobs b/Completion/Base/_jobs
index 869aeeb8a..ba83d784e 100644
--- a/Completion/Base/_jobs
+++ b/Completion/Base/_jobs
@@ -1,6 +1,12 @@
 #autoload
 
-local expl disp jobs job jids
+local expl disp jobs job jids pfx='%' desc
+
+_tags any jobs || return 1
+
+_style jobs prefix-needed yes && [[ "$PREFIX" != %* ]] && return 1
+_style jobs prefix-hidden yes && pfx=''
+_style jobs description yes   && desc=yes
 
 if [[ "$1" = -r ]]; then
   jids=( "${(@k)jobstates[(R)running*]}" )
@@ -19,9 +25,13 @@ fi
 disp=()
 jobs=()
 for job in "$jids[@]"; do
-  disp=( "$disp[@]" "${(l:3:: ::%:)job} -- ${jobtexts[$job]}" )
+  [[ -n "$desc" ]] &&
+      disp=( "$disp[@]" "${pfx}${(r:2:: :)job} -- ${(r:COLUMNS-8:: :)jobtexts[$job]}" )
   jobs=( "$jobs[@]" "$job" )
 done
 
-compadd "$@" "$expl[@]" -ld disp - "%$^jobs[@]"
-
+if [[ -n "$desc" ]]; then
+  compadd "$@" "$expl[@]" -ld disp - "%$^jobs[@]"
+else
+  compadd "$@" "$expl[@]" - "%$^jobs[@]"
+fi