* Re: Bug#448465: zsh completion for coreutils cut
@ 2007-10-29 13:56 Clint Adams
[not found] ` <20071030060305.273140@gmx.net>
0 siblings, 1 reply; 3+ messages in thread
From: Clint Adams @ 2007-10-29 13:56 UTC (permalink / raw)
To: zsh-workers; +Cc: Dr. Markus Waldeck, 448465
On Mon, Oct 29, 2007 at 10:39:44AM +0100, Dr. Markus Waldeck wrote:
> Is there a design decision to handle i18n?
>
> I checked all existing completion files but I did not find any hint!
As far as I know, you're the first one to try it; there's not even any
i18n in the main shell.
> #compdef cut
>
> local _cut_args
>
> declare -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"
> ouput-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"
> ouput-delimiter "use STRING as the output delimiter"
> help "display this help and exit"
> version "output version information and exit"
> )
> ;;
> esac
>
> _arguments \
> '(--bytes -b)'{--bytes=,-b}'['$_cut_args[bytes]']' \
> '(--characters -c)'{--characters=,-c}'['$_cut_args[characters]']' \
> '(--delimiter -d)'{--delimiter=,-d}'['$_cut_args[delimiter]']' \
> '(--fields -f)'{--fields=,-f}'['$_cut_args[fields]']' \
> '-n['$_cut_args[n]']' \
> '--complement['$_cut_args[complement]']' \
> '(--only-delimited -s)'{--only-delimited=,-s}'['$_cut_args[only-delimited]']' \
> '--ouput-delimiter['$_cut_args[ouput-delimiter]']' \
> '--help['$_cut_args[help]']' \
> '--version['$_cut_args[version]']' \
A couple tweaks; the "local" was redundant and "output" was misspelled a
few times.
Index: Completion/Unix/Command/_cut
===================================================================
RCS file: Completion/Unix/Command/_cut
diff -N Completion/Unix/Command/_cut
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ Completion/Unix/Command/_cut 29 Oct 2007 13:31:32 -0000
@@ -0,0 +1,46 @@
+#compdef cut
+
+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
+
+_arguments \
+ '(--bytes -b)'{--bytes=,-b}'['$_cut_args[bytes]']' \
+ '(--characters -c)'{--characters=,-c}'['$_cut_args[characters]']' \
+ '(--delimiter -d)'{--delimiter=,-d}'['$_cut_args[delimiter]']' \
+ '(--fields -f)'{--fields=,-f}'['$_cut_args[fields]']' \
+ '-n['$_cut_args[n]']' \
+ '--complement['$_cut_args[complement]']' \
+ '(--only-delimited -s)'{--only-delimited=,-s}'['$_cut_args[only-delimited]']' \
+ '--output-delimiter['$_cut_args[output-delimiter]']' \
+ '--help['$_cut_args[help]']' \
+ '--version['$_cut_args[version]']'
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Bug#448465: zsh completion for coreutils cut
[not found] ` <20071030060305.273140@gmx.net>
@ 2007-10-30 17:15 ` Clint Adams
[not found] ` <20071030200829.208660@gmx.net>
0 siblings, 1 reply; 3+ messages in thread
From: Clint Adams @ 2007-10-30 17:15 UTC (permalink / raw)
To: Dr. Markus Waldeck; +Cc: zsh-workers
On Tue, Oct 30, 2007 at 07:03:05AM +0100, Dr. Markus Waldeck wrote:
> There is a much more important problem: VERSIONING!
> How to handle different implementations of the same program
> (coreutils cut vs. BSD cut)?
> Or different versions with different options of the same program?
> A professional completion would only display the relevant options!
Check the documentation for the _pick_variant function.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Bug#448465: zsh completion for coreutils cut
[not found] ` <20071030200829.208660@gmx.net>
@ 2007-10-31 0:12 ` Clint Adams
0 siblings, 0 replies; 3+ messages in thread
From: Clint Adams @ 2007-10-31 0:12 UTC (permalink / raw)
To: Dr. Markus Waldeck; +Cc: zsh-workers
On Tue, Oct 30, 2007 at 09:08:29PM +0100, Dr. Markus Waldeck wrote:
> _pick_variant requires that a program is verbose.
>
> Please add the following lines.
>
> if _pick_variant gnu="Free Soft" unix --version; then
> case $LANG in
> ...
> '--version['$_cut_args[version]']'
> fi
The alternate form is a poorly-done rendition for FreeBSD cut.
Index: Completion/Unix/Command/_cut
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_cut,v
retrieving revision 1.1
diff -u -r1.1 _cut
--- Completion/Unix/Command/_cut 29 Oct 2007 14:00:32 -0000 1.1
+++ Completion/Unix/Command/_cut 31 Oct 2007 00:11:06 -0000
@@ -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 @@
'--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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-31 0:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-29 13:56 Bug#448465: zsh completion for coreutils cut Clint Adams
[not found] ` <20071030060305.273140@gmx.net>
2007-10-30 17:15 ` Clint Adams
[not found] ` <20071030200829.208660@gmx.net>
2007-10-31 0:12 ` Clint Adams
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).