jef@well.sf.ca.us (Jef Poskanzer) (04/25/91)
All these different shells, tcsh, ksh, bash, zsh, but do any of them implement tenex-style command completion and prompting, the most perfect command-line interface ever devised? I admit it would be a little weird trying to fit it into Unix, since the commands are so numerous and free-form, but I can think of a couple ways to do it. --- Jef Jef Poskanzer jef@well.sf.ca.us {apple, ucbvax, hplabs}!well!jef "To downgrade the human mind is bad theology." -- C. K. Chesterton
elliss@kira.egr.msu.edu (Stew Ellis) (04/25/91)
jef@well.sf.ca.us (Jef Poskanzer) writes: >All these different shells, tcsh, ksh, bash, zsh, but do any of them >implement tenex-style command completion and prompting, the most perfect >command-line interface ever devised? I admit it would be a little weird >trying to fit it into Unix, since the commands are so numerous and free-form, >but I can think of a couple ways to do it. >--- >Jef > Jef Poskanzer jef@well.sf.ca.us {apple, ucbvax, hplabs}!well!jef > "To downgrade the human mind is bad theology." -- C. K. Chesterton I assume by "tenex-style" you mean using the spacebar and ?. I have not found any like that. I would really like that as well. The closest I have found so far is tcsh, which completes commands or filenames using the tab key. I believe some of the others may have a similar capability. tcsh may also be able to prompt with possible completions. For filenames late versions of ksh will list possible completions in response to ESC= i believe. ------------------------------------------------------------------------------ _________________________________ R.Stewart (Stew) Ellis / _______________________________/ Assoc. Prof. of Social Science / / ______ ____________ __ Dept. of Humanities & Social Science / / /___ / / ___ ___ / / / 1700 W. Third Avenue / / / / / / / / / / / / Flint, MI 48504 / /__________/ / / / / / / / / / 313-762-9765 Office /______________/ /_/ /_/ /_/ /_/ elliss@frith.egr.msu.edu ENGINEERING & MANAGEMENT INSTITUTE "Apple Macintosh, the closed system for people with supposedly open minds." - plagiarized from someone else on the net "How you gonna do it? OS/2 it!" - stupid IBM ad "Have you ever heard anything so half-OSsed?" - me
les@chinet.chi.il.us (Leslie Mikesell) (04/26/91)
In article <24410@well.sf.ca.us> Jef Poskanzer <jef@well.sf.ca.us> writes: >All these different shells, tcsh, ksh, bash, zsh, but do any of them >implement tenex-style command completion and prompting, the most perfect >command-line interface ever devised? I admit it would be a little weird >trying to fit it into Unix, since the commands are so numerous and free-form, >but I can think of a couple ways to do it. Is that what the kermit command line interface is supposed to emulate? It runs on lots of platforms, but the code is a nightmare of #ifdef's regarding the tty i/o. Does the real thing give an error message when you have typo and then take the next thing as the beginning of a new line even though you didn't hit return there? E.g. you mean to type: "set rec pack 1000", but instead hit "fet": ?Invalid - fet rec pac Escape back to your local kermit and prepare to send now. I hate it when that happens... Les Mikesell les@chinet.chi.il.us Esca
pplacewa@bbn.com (Paul Placeway) (05/01/91)
jef@well.sf.ca.us (Jef Poskanzer) writes:
< All these different shells, tcsh, ksh, bash, zsh, but do any of them
< implement tenex-style command completion and prompting, the most perfect
< command-line interface ever devised? I admit it would be a little weird
< trying to fit it into Unix, since the commands are so numerous and free-form,
< but I can think of a couple ways to do it.
I had this going in a version of tcsh quite a while ago (like around
'85) but it had several problems. To do tenex/twenex style completion
and listing it had to have a dynamically loadable parser in order to
figure out what was going on, and someone (me) had to write the rules
for each of the commands, including a short explanation of what each
switch did. I ended up writing parser descriptions of about 10
commands (including BSD 4.2 ls) to try it out.
On our VAX 11/780, it was way too slow to be reasonable (which is a
curable thing), and worst of all it didn't seem to be that much of a
help.
The big problem is that Unix commands wern't built to run under such a
user interface, and they arn't structured, and they were generally
chosen so they could be typed fast, so rather than having nice
structured commands like
$ DIRECTORY /VERBOSE
(which could be abbreviated "D /V")
You end up with
% ls -l
And to find out about things
And then if you really want fun, just think about how to explain dd(1)
in 24 lines or less.
It turned out (at least at the time) that it was almost as good just
to have a fast way of running man on the command of the line the user
is typing in, and then returning to the line as it was. Hence the
tcsh M-? hack.
Unix commands are cryptic "for historical reasons". As far as a good
system for beginners, forget Unix and go get a toy (read PC w/windows
or a Mac or something).
--P
"Unix is so cryptic -- you have to type 'ls' to do a 'd'." -- Lum Johnson