zsh-workers
 help / color / mirror / code / Atom feed
From: "Andrej Borsenkow" <Andrej.Borsenkow@mow.siemens.ru>
To: <zsh-workers@sunsite.auc.dk>
Subject: RE: File completion under Cygwin again
Date: Thu, 12 Oct 2000 17:00:46 +0400	[thread overview]
Message-ID: <001201c0344c$6fb5d400$21c9ca95@mow.siemens.ru> (raw)
In-Reply-To: <200010121201.OAA30397@beta.informatik.hu-berlin.de>

> >
> > 1. drive:/path completion.
>
> Use the fake-files style to offer `a:/' etc. Then use an
> implementation of _first that makes compset -P '?:/' and calls _files
> with -W. Does that work?
>

Mmm ... yes and no. It is simply too early. It will try to modify any word
that looks like x:/foo; and it needs to be done for "real" file names only.
I.e. in _path_files.

Anyway, adding (conditional) checking for ?:/ prefix is trivial (for anybody
who spent two years on _path_files at least :-). The question is - may it be
used for something else?

Is root-name style good enough? With implied usage

zstyle 'completion:*:paths' root-name '/ ?:/'

and implementation that basically sets donepath to root-name and strips it
off.

> > 2. UNC path completion - //server/share/path - here actually subtopics
> >  a) server name completion
> >  b) share name completion
> >  c) path completion
>
> I'm not exactly sure what this does, but maybe it could be done with
> some more fiddling with _first (I mean: completing the server names)?
>

The same as above. And could be implemented by

zstyle 'completion:*:paths' root-name '//server1/(share1|share2)/
//server2/share3/ ...'

And server/share names itself could already be completed with fake-files.

>
> > 4. Windows is using case-insensitive file system,
>
> Use the matcher style? (Not matcher-list.)
>
> > 5. (related to 4) things are complicated by the fact, that you can mount
> > case-sensitive file system (e.g. off SAMBA server),
>
> The matcher style with `zstyle -e'?
>

This is currently the best approximation. The only comment - this has to be
set for every tag that represents file names; users (and completion function
authors) are free to invent there own tags; and there is no ultimate tag list
currently (and cannot be).

I.e. again - it is property of file names, not particular completion context,
and logically should be implemented in _path_files. paths tag? Like for
squeeze-slashes?

>
> > 7. Backslash handling. So, that I do not forget it myself :-)
>
> I once said that this may be hard. But maybe it can be made simple:
> just convert all backslashes to slashes before completing >:->
>

Yes. For this reason I mentioned cygpath (that takes care of mount points as
well).

-andrej


  reply	other threads:[~2000-10-12 13:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-12 12:01 Sven Wischnowsky
2000-10-12 13:00 ` Andrej Borsenkow [this message]
  -- strict thread matches above, loose matches on Subject: below --
2000-10-12 11:46 Andrej Borsenkow
2000-10-12 11:21 Andrej Borsenkow

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='001201c0344c$6fb5d400$21c9ca95@mow.siemens.ru' \
    --to=andrej.borsenkow@mow.siemens.ru \
    --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).