zsh-workers
 help / color / mirror / code / Atom feed
From: "Andrej Borsenkow" <Andrej.Borsenkow@mow.siemens.ru>
To: "Zefram" <zefram@fysh.org>
Cc: "Sven Wischnowsky" <wischnow@informatik.hu-berlin.de>,
	<zsh-workers@sunsite.auc.dk>
Subject: RE: PATCH: Re: sudo completion problem
Date: Thu, 4 May 2000 11:23:36 +0400	[thread overview]
Message-ID: <000601bfb599$a9219f80$21c9ca95@mow.siemens.ru> (raw)
In-Reply-To: <E12n0lo-0008Ug-00@crucigera.fysh.org>

> Andrej Borsenkow wrote:
> >I think, it was the result of change for find (do not have article
> >handy) - in ``find /tmp -user'' -user was not recognised as option
> >because /tmp already was argument. So, this change made
> options be found
> >everywhere, even after arguments :-)
>
> That's the wrong way to do it.  In the find command line,
> `-user' is not
> an option, it's an expression (or part thereof).  The
> expression starts
> with the first argument that starts with `-' and continues to the end
> of the line; the directory arguments must appear before the
> expression.
> Actual options are handled as dummy predicates, which is confusing to
> the user, but from our point of view means that they must be
> treated as
> part of the expression.
>


I was about to suggest, that it still doable with _arguments - but then
realised, that there is no way to describe "structured arguments" or
"argument values". Every argument is treated as an independent word and
moreover, there is no way to "name" arguments at all.

So, the question is - how useful would it be to allow "named,
structured, ..." arguments? The point is, description vs. shell code.
Basically, be able to treat arguments in almost the same way as
options - with some separator in between. In this case, we could still
use _arguments for find - actually, it does it quite well currently, and
it is a pity to reinvent the wheel.

This may be useful in other cases as well. cvs comes in mind
immediately - common options, then checkout, update, etc as argument -
and possibly (sub-)options and (sub-)arguments for every of them.

I understand, that this is hierarchical structure that probably cannot
be handled with one single table ... but, just as idea, imagine that
action for `update' argument simply points to subarguments description
... or something like this ... this may be more readable than shell
functions. May be not. But it is easier in cases, where we need several
versions for different plattforms.

Then I realised, that reverse situation exists with options - there is
no way to describe options without - prefix. Consider dd or tar ("tar"
not "GNU tar" :-), BSD ps ... In case of dd we have only options; in
case of tar ot ps, the first word consists of single letter options with
possible arguments in next words in order. There is no way to describe
both case with _arguments (unless I'm mistaken).

And I'd like repeat once more - currently, when _arguments is using
lexical structure to describe semantic, it is hard to add something. If
we had flags ... (not suggesting breaking compatibility - but just for
future use).

-andrej


  reply	other threads:[~2000-05-04  7:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-05-03 14:42 Sven Wischnowsky
2000-05-03 14:56 ` Andrej Borsenkow
2000-05-03 15:09   ` Zefram
2000-05-04  7:23     ` Andrej Borsenkow [this message]
2000-05-04 12:02       ` Tanaka Akira
2000-05-04 13:40         ` Sven Wischnowsky
2000-05-04 15:14           ` Completing for "find" and _regex_arguments (Re: PATCH: Re: sudo completion problem) Bart Schaefer
2000-05-04 16:16             ` Tanaka Akira
2000-05-04 20:12           ` PATCH: Re: sudo completion problem Tanaka Akira
2000-05-04 20:40             ` Tanaka Akira
2000-05-06  6:56 ` Andrej Borsenkow
2000-05-06  7:40   ` Tanaka Akira
2000-05-06  7:51     ` Andrej Borsenkow
2000-05-06  8:19   ` Zefram
2000-05-04  8:03 Sven Wischnowsky
2000-05-08  9:00 Sven Wischnowsky
2000-05-08 15:25 ` Tanaka Akira

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000601bfb599$a9219f80$21c9ca95@mow.siemens.ru' \
    --to=andrej.borsenkow@mow.siemens.ru \
    --cc=wischnow@informatik.hu-berlin.de \
    --cc=zefram@fysh.org \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).