Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2007-02-28 19:59:30 -0800 (Wed, 28 Feb 2007)
Revision: 10128
Log message:
Move all the completion code into ML, so that it can be
more faithful to OMake (and easier to implement too).
Filename completions of all the following partial
names are implemented:
/abc/def (absolute name)
~ab (username)
~abc/def (relative to home directory)
~/def (relative to my home directory)
abc/def (relative name)
abc (relative name)
Missing: the current code does not handle escapes
and quoting, so filenames like the following
do not currently work.
c:/Program\ Files/foo
Implementing this is todo. The main thing
to understand is that \ is a pathname separator
iff it is not followed by a special character
[~ \t*?]
The choice of \ as a pathname separator is probably
the first indicator of Microsoft engineering methods,
standards, and practices. Not to mention that
drive letters are a convenient naming scheme for
organizing files by content and purpose rather
than physical location.