Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Bug#448465: zsh completion for coreutils cut



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]']'



Messages sorted by: Reverse Date, Date, Thread, Author