From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6710 invoked from network); 27 Jun 2000 13:19:24 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 27 Jun 2000 13:19:24 -0000 Received: (qmail 24302 invoked by alias); 27 Jun 2000 13:19:04 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 12082 Received: (qmail 24295 invoked from network); 27 Jun 2000 13:19:03 -0000 Date: Tue, 27 Jun 2000 15:18:57 +0200 (MET DST) Message-Id: <200006271318.PAA26871@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.auc.dk In-reply-to: "Bart Schaefer"'s message of Mon, 26 Jun 2000 15:19:01 +0000 Subject: PATCH: Re: (forw) --help able programs and completion] [ moved to workers ] Bart Schaefer wrote: > ... > > } The one who wrote it probably should have documented it > } somewhere. > } > } I /think/ it wasn't me this time. > > This is very interesting. > > The earliest mention of _use_lo in the zsh-workers archive is PWS saying > "What happened to _use_lo? I don't remember removing it." just before he > made the 3.1.6-test-1 release. That's the first time it shows up in my > home CVS repository, too. The ChangeLog-Release file doesn't mention it > at all until Sven started patching it (and the entire contents except for > the comment at the top have long been Sven's doing, even if he didn't > create the file originally). Hm. Ok, ok. Here is a patchlet that also tries to emphasize compdef because this is almost becoming a FAQ. > Of course, the ChangeLog also doesn't make any mention of when _arguments > acquired the internals of _long_options. Lost when moving to CVS, I guess. Bye Sven Index: Doc/Zsh/compsys.yo =================================================================== RCS file: /cvsroot/zsh/zsh/Doc/Zsh/compsys.yo,v retrieving revision 1.73 diff -u -r1.73 compsys.yo --- Doc/Zsh/compsys.yo 2000/06/22 08:42:36 1.73 +++ Doc/Zsh/compsys.yo 2000/06/27 13:18:41 @@ -277,6 +277,20 @@ ) enditem() +The tt(compdef) function is the place to turn to when one wants to +define what the completion system should complete for a certain +command. The function named can of course be one of the functions +supplied or one written by the user. For example, if one has a +command tt(foo) that gets process identifiers as arguments, one could +do: + +example(compdef _pids foo) + +using the tt(_pids) function from the distribution to generate the +process identifiers. Not also the tt(_use_lo) function described +below, which can be used to complete options for commands that +understand the `tt(-)tt(-help)' option. + texinode(Completion System Configuration)(Control Functions)(Initialization)(Completion System) sect(Completion System Configuration) cindex(completion system, configuration) @@ -2672,6 +2686,25 @@ Like tt(_tags) this function supports the tt(-C) option to give a different name for the argument context field. +) +findex(_use_lo) +item(tt(_use_lo))( +This function is a simple wrapper around the tt(_arguments) function +described below. It can be used to automatically complete long +options for commands that understand the `tt(-)tt(-help)' option +(`tt(_use_lo)' is for `use long options'). It is not intended to be +used from completion functions but as a top-level completion function +in its own right. For example, to enable option completion for the +commands tt(foo) and tt(bar), one would call: + +example(compdef _use_lo foo bar) + +in one of the initialization files after the call to tt(compinit). + +The default installation uses this function only to generate +completions for some GNU-commands because to complete the options, the +command has to be called and hence it shouldn't be used if one can't +be sure that the command understands the `tt(-)tt(-help)' option. ) findex(_arguments) item(tt(_arguments) var(spec) ...)( -- Sven Wischnowsky wischnow@informatik.hu-berlin.de