summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/_cdcd6
1 files changed, 3 insertions, 3 deletions
diff --git a/Completion/Unix/Command/_cdcd b/Completion/Unix/Command/_cdcd
index de27724dc..30b165df2 100644
--- a/Completion/Unix/Command/_cdcd
+++ b/Completion/Unix/Command/_cdcd
@@ -4,17 +4,17 @@ typeset -A opt_args
 
 _cdcd_tracks ()
 {
-    cdcd info | sed -e 1,2d -e 4d -e "s,Total tracks: *\([0-9]\+\).*,\1,"
+    print ${${${(f)"$(cdcd info)"}[3]}/Total tracks: #(#b)([0-9]##)*/$match[1]}
 }
 
 _cdcd_track_list ()
 {
-    seq 1 $(_cdcd_tracks)
+    print ${1..$(_cdcd_tracks)}
 }
 
 _cdcd_track_list_verbose ()
 {
-    cdcd tracks | grep "^[ 0-9]\+:" | sed -e 's,^ *\([0-9]\+\):[ >]*. *[^ ]* *\(.*\) \+,\1\\\:\"\2\",'
+    print ${${(M)${(f)"$(cdcd tracks)"}:#(#s) #[0-9]##:*}/(#s) #(#b)([0-9]##):[ >]#? #[^ ]# #(*) ##/$match[1]:${(qqq)match[2]}}
 }
 
 _cdcd_commands ()