zsh-workers
 help / color / mirror / code / Atom feed
From: "Akinori MUSHA" <knu@iDaemons.org>
To: Oliver Kiddle <okiddle@yahoo.co.uk>
Cc: zsh-workers@sunsite.dk
Subject: Re: _chflags
Date: Fri, 03 Aug 2001 02:40:57 +0900	[thread overview]
Message-ID: <8666c6l5qu.wl@archon.local.idaemons.org> (raw)
In-Reply-To: <3B697DA9.3443713E@yahoo.co.uk>

At Thu, 02 Aug 2001 17:19:53 +0100,
Oliver Kiddle wrote:
> > 1. How can I prevent _values from sorting the values?
> 
> Er. Sven? -V doesn't work so you probably can't. Why do you want to? To
> group flags with their no variants by any chance? In the latest zsh 4.1,

Exactly.

> it might be better to use '(noarch arch)'{arch,noarch}'[archived flag]'
> which would put arch and noarch on the same line with a shared
> description.

Sounds very neat. :)

> > 2. How can I let zsh automatically add `R' when one chooses -[LHP]?
> 
> Again, I don't know/don't think it can be done. You would need to get it
> to be added as an (auto-removable) suffix which I don't think _arguments
> can handle.

On second thought it's not a smart solution.  I found a much better
way, so forget about this. (See below)

> >        '(noarch)arch[set the archived flag (super-user only)]' \
> 
> What I've done is removed `(super-user only)' from the descriptions and
> made it only complete those flags for the super-user (EUID=0). I have
> also got it to only complete files which the user owns. This follows the
> way that _chown works. Incidentally, symlinks are followed for this and
> chown so when I commit this, I'll add `req=( -$^req )' before the _files
> call in _chown. 

But how do you handle the case where one uses something like sudo?  Do
you have a plan to make sudo's compdef smart enough to fake EUID?

> About these descriptons again: I'm not too sure how useful the
> description `set the dump flag' is although that type of description is
> quite common for zsh completions. I think the chances are that someone
> using chflags can work out that `chflags opaque' sets the opaque flag
> and noopaque unsets the flag. However, I wouldn't have a clue what the
> significance of the opaque file flag is. To an extent I blame that man
> page because it doesn't explain either. So I'd be tempted (for 4.1 only)
> to change the flags to along the lines of:
> '(dump nodump)'{dump,nodump}'[backup file when dump(8) is next run]'

Noted.  However, it's the manpage's problem and the zsh compdef can
just provide short descriptions. (actually chflags(2) explains further
details)


> Note that that description for the dump flag could be completely wrong.
> In 4.1 this looks roughly like this when completed:
> 
> file flag
> dump    nodump    --  backup file when dump(8) is next run

Hmm, I can't wait for this grouping feature. :)

> The aliases for the flags could then also be added. What do you reckon?

Perhaps that's going too far.  Most users get used to the short form
and would never use longer ones.  That's the UNIX style. :>

> And, if you can check this updated function below please.

OK, aside from the EUID part, I suggest changing this part:

> _arguments -s -A "-*" \
>   '(-L -P)-H[follow symlinks on the command line (specify with -R)]' \
>   '(-H -P)-L[follow all symlinks (specify with -R)]' \
>   '(-L -H)-P[do not follow symlinks (specify with -R)]' \
>   '-R[recurse directories]' \
>   ':file flag:_values -s , "file flags" $flags[@]' \
>   '*:file:_files "$own"'

As follows:

local ftsopts

ftsopts=(
  'P[do not follow symlinks]'
  'H[follow symlinks on the command line]'
  'L[follow all symlinks]'
)

_arguments -s -A "-*" \
  '-R-:recurse directories:_values "recurse option" $ftsopts[@]' \
  ':file flag:_values -s , "file flags" $flags[@]' \
  '*:file:_files "$own"'


Thanks so much for your help! :)

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp

"Freeze this moment a little bit longer, make each impression
  a little bit stronger..  Experience slips away -- Time stand still"


  reply	other threads:[~2001-08-06  4:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-01 18:39 _chflags Akinori MUSHA
2001-08-02 12:21 ` _chflags Oliver Kiddle
2001-08-02 13:25   ` _chflags Akinori MUSHA
2001-08-02 16:19     ` _chflags Oliver Kiddle
2001-08-02 17:40       ` Akinori MUSHA [this message]
2001-08-03 11:46         ` _chflags Oliver Kiddle
2001-08-03  8:25       ` _chflags Sven Wischnowsky
2001-08-06 11:36         ` grouping inverses and sorting in completion lists (was _chflags) Oliver Kiddle

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=8666c6l5qu.wl@archon.local.idaemons.org \
    --to=knu@idaemons.org \
    --cc=okiddle@yahoo.co.uk \
    --cc=zsh-workers@sunsite.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).