about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2003-08-05 10:17:13 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2003-08-05 10:17:13 +0000
commit6715bc154ee68617f064cc70b5c8e42f6bfe4b9c (patch)
tree8a98ffc3aacce575a9c012fc80254e06c3ff068e
parent1f8c031467c398419b758f3d3be38d1ace2aa204 (diff)
downloadzsh-6715bc154ee68617f064cc70b5c8e42f6bfe4b9c.tar.gz
zsh-6715bc154ee68617f064cc70b5c8e42f6bfe4b9c.tar.xz
zsh-6715bc154ee68617f064cc70b5c8e42f6bfe4b9c.zip
fix _cvs quoting bug, new _cdrecord and remove _archie (archie servers are gone)
-rw-r--r--ChangeLog9
-rw-r--r--Completion/Unix/Command/.distfiles2
-rw-r--r--Completion/Unix/Command/_archie33
-rw-r--r--Completion/Unix/Command/_cdrecord105
-rw-r--r--Completion/Unix/Command/_cvs4
5 files changed, 117 insertions, 36 deletions
diff --git a/ChangeLog b/ChangeLog
index fad20b510..365ad8129 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2003-08-05  Oliver Kiddle  <opk@zsh.org>
+
+	* Completion/Unix/Command/_archie: archie servers no longer exist
+	so remove redundant completion
+
+	* 18928: Completion/Unix/Command/_cdrecord: new cdrecord completion
+
+	* 18927: Completion/Unix/Command/_cvs: fix recent mistake with quoting
+
 2003-08-05  Peter Stephenson  <pws@csr.com>
 
 	* 18926: Src/Zle/complist.c: fix (without knowing how) insertion
diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles
index 92d7553fd..18599156d 100644
--- a/Completion/Unix/Command/.distfiles
+++ b/Completion/Unix/Command/.distfiles
@@ -2,7 +2,7 @@ DISTFILES_SRC='
 .distfiles
 _a2ps         _dvi          _gzip         _man          _rcs          _w3m
 _apachectl    _enscript     _iconv        _mh           _rlogin       _webbrowser
-_archie       _fakeroot     _imagemagick  _mount        _sh           _wget
+_cdrecord     _fakeroot     _imagemagick  _mount        _sh           _wget
 _arp          _fetchmail    _init_d       _mutt         _slrn         _whereis
 _bison        _find         _ispell       _mysql_utils  _socket       _whois
 _bzip2        _finger       _java         _ncftp        _ssh          _xargs
diff --git a/Completion/Unix/Command/_archie b/Completion/Unix/Command/_archie
deleted file mode 100644
index bbcd71766..000000000
--- a/Completion/Unix/Command/_archie
+++ /dev/null
@@ -1,33 +0,0 @@
-#compdef archie
-
-local curcontext="$curcontext" state line expl
-typeset -A opt_args
-
-_arguments -C -s \
-  '-D+[debug level]:debug level:' \
-  '-v[print version]' \
-  '-V[verbose mode]' \
-  '-O+[specifies offset]:offset:' \
-  '-a[list matches as Alex filenames]' \
-  '-c[case sensitive substring search]' \
-  '-e[exact string match (default)]' \
-  '-r[regular expression search]' \
-  '-s[case insensitive substring search]' \
-  '-l[list one match per line]' \
-  '-t[sort inverted by date]' \
-  '-m+[specifies maximum number of hits to return (default 95)]:hits to return:' \
-  '-o+[specifies file to store results in]:file to store:' \
-  '-h+[specifies server host]:server host:->serverhost' \
-  '-L[list known servers and current default]' \
-  '-N-[specifies query niceness level (0-35765)]:niceness level:' \
-  ':string:' && return 0
-
-case "$state" in
-serverhost)
-  : ${(A)archie_servers:=${(M)$(_call_program hosts archie -L):#archie.*}}
-
-  _wanted hosts expl 'archie servers' compadd -a archie_servers && return 0
-  ;;
-esac
-
-return 1
diff --git a/Completion/Unix/Command/_cdrecord b/Completion/Unix/Command/_cdrecord
new file mode 100644
index 000000000..ed0d3fa17
--- /dev/null
+++ b/Completion/Unix/Command/_cdrecord
@@ -0,0 +1,105 @@
+#compdef cdrecord
+
+local curcontext="$curcontext" state line
+local devices btypes
+
+_arguments -C \
+  '-version[print version information]' \
+  '*-d[increase debug level]' \
+  \*{-verbose,-v}'[increase verbosity level]' \
+  \*{-Verbose,-V}'[increase scsi command transport verbosity level]' \
+  '(-silent -s)'{-silent,-s}'[do not print a status report for failed scsi commands]' \
+  '-setdropts[set driver specific options and exit]' \
+  '-checkdrive[check if a driver for the device is present]' \
+  '-prcap[print drive capabilities for MMC compliant drives]' \
+  '-inq[do an inquiry for the drive and exit]' \
+  '-scanbus[scan the scsi bus and exit]' \
+  '-reset[reset the scsi bus with the cdrecorder]' \
+  '-overburn[allow writing of more than the official size of a medium]' \
+  '-ignsize[ignore the known size of a medium (may cause problems)]' \
+  '-useinfo[use .inf files to overwrite audio options]' \
+  '-format[format a CD-RW/DVD-RW/DVD+RW disc]' \
+  '-load[load the disk and exit]' \
+  '-lock[load and lock disc in tray loader]' \
+  '-eject[eject the disk after doing the work]' \
+  '-dummy[do everything with laser turned off]' \
+  '-msinfo[retrieve multi-session info for mkisofs]' \
+  '-toc[retrieve and print TOC/PMA data]' \
+  '-atip[retrieve and print ATIP data]' \
+  '-multi[generate a TOC that allows multi session]' \
+  '-fix[fixate a corrupt or unfixated disk]' \
+  '-nofix[do not fixate disk after writing tracks]' \
+  '-waiti[wait until input is available before opening SCSI]' \
+  '-immed[try to use scsi IMMED flag]' \
+  '-force[force continuation on some errors]' \
+  '-dao[set disk at once mode]' \
+  '-raw[set raw writing mode]' \
+  '-raw96r[write disk in raw/raw96r mode]' \
+  '-raw96p[write disk in raw/raw96p mode]' \
+  '-raw16[write disk in raw/raw16 mode]' \
+  '-text[write CD-Text from .inf/.cue files]' \
+  '*-audio[subsequent tracks are CD-DA audio tracks]' \
+  '*-data[subsequent tracks are CD-ROM data mode 1 (default)]' \
+  '*-mode2[subsequent tracks are CD-ROM data mode 2]' \
+  '*-xa[subsequent tracks are CD-ROM XA mode 2 form 1 - 2048 bytes]' \
+  '*-xa1[subsequent tracks are CD-ROM XA mode 2 form 1 - 2056 bytes]' \
+  '*-xa2[subsequent tracks are CD-ROM XA mode 2 form 2 - 2324 bytes]' \
+  '*-cdi[subsequent tracks are CDI tracks]' \
+  '-isosize[use iso9660 file system size for next data track]' \
+  '(-nopreemp)-preemp[audio tracks are mastered with 50/15 preemphasis]' \
+  '(-preemp)-nopreemp[audio tracks are mastered with no preemphasis (default)]' \
+  '-copy[audio tracks have unlimited copy permission]' \
+  '-nocopy[audio tracks may only be copied once for personal use]' \
+  '-scms[audio tracks will not not have any copy permission at all]' \
+  '(-nopad)-pad[pad tracks]' \
+  '(-pad)-nopad[do not pad data tracks (default)]' \
+  '*-shorttrack[subsequent tracks may be non Red Book if in DAO mode]' \
+  '*-noshorttrack[subsequent tracks must be >= 4 seconds]' \
+  '-swab[audio data source is byte-swapped (little-endian/Intel)]' \
+  '*: :->values'
+
+if [[ -n $state ]]; then
+  _tags values files
+  while _tags; do
+    if _requested values && (( ! ${#words[2,CURRENT-1]:#(-*|*=*)} )); then
+      _values -C -s ' ' 'option' \
+	'dev[specify scsi device to use]:device:->device' \
+	'gracetime[set grace time before starting to write]:time (seconds)' \
+	'timeout[set default scsi timeout]:timeout (seconds)' \
+	'debug[specify debug level]:debug level' \
+	{kdebug,kd}'[specify kernel debug level]:debug level' \
+	'driver[user supplied driver name]:drive' \
+	'driveropts[a comma separated list of driver specific options]:driver options' \
+	'speed[set speed of drive]:speed' \
+	'blank[blank a CD-RW disc]:blank type:->blank' \
+	'fs[set fifo size]:size' \
+	'tsize[length of valid data in next track]:length' \
+	'padsize[amount of padding for next track]:amount of padding' \
+	'pregap[amount of pre-gap sectors before next track]:amount' \
+	'defpregap[amount of pre-gap sectors for all but first track]:amount' \
+	'mcn[set media catalog number for this CD]:text' \
+	'isrc[set isrc number for the next track]:text' \
+	'index[set the index list for the next track]:list' \
+	'textfile[set the file with CD-Text data]:name:_files -g "*.inf"' \
+	'cuefile[set the file with CDRWIN CUE data]:name:_files -g "*.cue"' && ret=0
+    fi
+    _requested files expl track _files && ret=0
+    (( ret )) || break
+  done
+  
+  case $state in
+    device)
+      devices=( ${(f)"$(_call_program device cdrecord -scanbus 2>/dev/null \
+          |grep '^  '|cut -c2-6,23-|sed 's/ /:/')"} )
+      _describe -t devices device devices && return
+    ;;
+    blank)
+      btypes=(
+        'help:display list of available blanking types'
+	${${${${(f)"$(_call_program blank-types cdrecord blank=help 2>&1)"}[2,-1]}#?}/[[:blank:]]##/:}
+      )
+      _describe -t blank-types 'blanking type' btypes && return
+    ;;
+  esac
+  
+fi
diff --git a/Completion/Unix/Command/_cvs b/Completion/Unix/Command/_cvs
index b687f9874..0643310d1 100644
--- a/Completion/Unix/Command/_cvs
+++ b/Completion/Unix/Command/_cvs
@@ -238,8 +238,8 @@ _cvs_diff() {
     "($ofwuc $oss -F --show-function-line=)"{-F+,--show-function-line=}'[show the most recent line matching regex]:regex' \
     "($of $ouc $oss)--brief[output only whether files differ]" \
     "($of $ouc $oss)"{-e,--ed}'[output an ed script]' \
-    "($of $ouc $oss)"{-f,--forward-ed}'[output a reversed ed script]" \
-    "($of $ouc $oss)"{-n,--rcs}'[RCS format diff]" \
+    "($of $ouc $oss)"{-f,--forward-ed}'[output a reversed ed script]' \
+    "($of $ouc $oss)"{-n,--rcs}'[RCS format diff]' \
     "($of $ouc)--side-by-side[output in two columns]" \
     "($of $ouc)-y[output in two columns]" \
     "($ofwy $ouc -W --width)"{-W+,--width=}'[set size of line]:number of characters per line' \