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

File completion under Cygwin again



It seems, that there is some demand for Zsh under Cygwin (and I got private
mail asking for binary distribution). For this reason I list problems/wishes I
am aware about now; it would really be nice if some of these were fixed in
4.0.

1. drive:/path completion.

This is an absolute path on under Cygwin. Currently, Zsh treats it as relative
to current directory.

2. UNC path completion - //server/share/path - here actually subtopics
 a) server name completion
 b) share name completion
 c) path completion

a) is unlikely and I am currently unaware of any easy way to implement b), but
c) is quite possible. Current problem is, globbing on the first two levels
fails and Zsh finds no match.

3. (related to 2) currently we can either squeeze all slashes or nothing.
Under Cygwin initial `//' is significant and must not be squeezed
irrespectively of squeeze-slashes settings.

4. Windows is using case-insensitive file system, so some way to make file
name completion case-insensitive is needed. It is _not_ the same as simply set
global matcher - it is applied to _every_ completion, and this is not always
appropriate.

5. (related to 4) things are complicated by the fact, that you can mount
case-sensitive file system (e.g. off SAMBA server), so, if we could say "names
with this prefix are case sensitive and with this not" ...

6. drive:path completion (x:path)

This is *not* the same as 1. It is relative path that is interpreted as
"relative to current directory of drive x). Unfortunately, this seems to be
broken in current cygwin, but for the record ...

7. Backslash handling. So, that I do not forget it myself :-)

Of these, 1, 2c and 3 are needed to allow easy use under Cygwin. 2a and 2b can
already be emulated by fake-path style (assuming, that initial double slashes
are not lost). Evrything else is nice to have and can wait if somebody else
request it. Even if only 1-3 are implemnted, Zsh will be far ahead of bash as
interactive shell.

Just to mention - Cygwin provides utility (and API) to convert file names
between Unix and Windows. May be, it can be used here (at least, it solves
problem of backslashes, because Unix names always have slashes).

-andrej

Have a nice DOS!
B >>



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