summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_cut73
2 files changed, 47 insertions, 31 deletions
diff --git a/ChangeLog b/ChangeLog
index c7c76c3ea..14546f6ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-31 Clint Adams <clint@zsh.org>
+
+ * 24039: Completion/Unix/Command/_cut: cope with FreeBSD
+ cut in addition to GNU cut.
+
2007-10-30 Peter Stephenson <p.w.stephenson@ntlworld.com>
* 24038: Doc/Zsh/mod_curses.yo, Src/Modules/curses.c: add
diff --git a/Completion/Unix/Command/_cut b/Completion/Unix/Command/_cut
index 89fd24f38..7faad9d89 100644
--- a/Completion/Unix/Command/_cut
+++ b/Completion/Unix/Command/_cut
@@ -2,38 +2,39 @@
typeset -A _cut_args
-case $LANG in
- (de_DE.UTF-8)
- _cut_args=(
- bytes "nur diese Bytes ausgeben"
- characters "nur diese Zeichen ausgeben"
- delimiter "Delimiter anstelle von Tabulator als Trenner benutzen"
- fields "nur diese Felder und alle Zeilen OHNE Trennzeichen ausgeben"
- n "(ignoriert)"
- complement "das Komplement der Menge der gewählten Bytes, Zeichen oder Felder bilden"
- only-delimited "keine Zeilen ausgeben, die keinen Trenner enthalten"
- output-delimiter "Zeichenkette als Ausgabetrennzeichen benutzen"
- help "diese Hilfe anzeigen und beenden"
- version "Versionsinformation anzeigen und beenden"
- )
- ;;
- (*)
- _cut_args=(
- bytes "select only these bytes"
- characters "select only these characters"
- delimiter "use DELIM instead of TAB for field delimiter"
- fields "select only these fields and lines whitout the delimiter character"
- n "(ignored)"
- complement "complement the set of selected bytes, characters or fields"
- only-delimited "do not print lines not containing delimiters"
- output-delimiter "use STRING as the output delimiter"
- help "display this help and exit"
- version "output version information and exit"
- )
- ;;
-esac
+if _pick_variant gnu="Free Soft" unix --version; then
+ case $LANG in
+ (de_DE.UTF-8)
+ _cut_args=(
+ bytes "nur diese Bytes ausgeben"
+ characters "nur diese Zeichen ausgeben"
+ delimiter "Delimiter anstelle von Tabulator als Trenner benutzen"
+ fields "nur diese Felder und alle Zeilen OHNE Trennzeichen ausgeben"
+ n "(ignoriert)"
+ complement "das Komplement der Menge der gewählten Bytes, Zeichen oder Felder bilden"
+ only-delimited "keine Zeilen ausgeben, die keinen Trenner enthalten"
+ output-delimiter "Zeichenkette als Ausgabetrennzeichen benutzen"
+ help "diese Hilfe anzeigen und beenden"
+ version "Versionsinformation anzeigen und beenden"
+ )
+ ;;
+ (*)
+ _cut_args=(
+ bytes "select only these bytes"
+ characters "select only these characters"
+ delimiter "use DELIM instead of TAB for field delimiter"
+ fields "select only these fields and lines whitout the delimiter character"
+ n "(ignored)"
+ complement "complement the set of selected bytes, characters or fields"
+ only-delimited "do not print lines not containing delimiters"
+ output-delimiter "use STRING as the output delimiter"
+ help "display this help and exit"
+ version "output version information and exit"
+ )
+ ;;
+ esac
-_arguments \
+ _arguments \
'(--bytes -b)'{--bytes=,-b}'['$_cut_args[bytes]']' \
'(--characters -c)'{--characters=,-c}'['$_cut_args[characters]']' \
'(--delimiter -d)'{--delimiter=,-d}'['$_cut_args[delimiter]']' \
@@ -44,3 +45,13 @@ _arguments \
'--output-delimiter['$_cut_args[output-delimiter]']' \
'--help['$_cut_args[help]']' \
'--version['$_cut_args[version]']'
+else
+ _arguments \
+ '-b[list specifies byte positions]:list:' \
+ '-c[list specifies character positions]:list:' \
+ '-d[use alternate delimeter]:delimeter:' \
+ '-f[list specifies fields]:list:' \
+ '-n[do not split multi-byte characters]' \
+ '-s[suppress lines with no delimeters]' \
+ '*:file:_files'
+fi