Linked by David Adams on Fri 5th Aug 2011 17:42 UTC
Graphics, User Interfaces Since we're on a CLI kick today, here's an "attempt at presenting some of the most important guidelines for CLI design."
Permalink for comment 484176
To read all comments associated with this story, please click here.
Obligatory Amiga Post
by daedalus on Tue 9th Aug 2011 08:05 UTC
daedalus
Member since:
2011-01-14

It's old and is missing some of the more modern features found in other CLIs, but a lot can be said for the AmigaDOS shell. With a standard API for interpreting arguments, all tools can follow the same pattern of arguments, can be optionally case sensitive, and I find it to be a good balance between the cryptic arguments of *nix and being too "English". One thing that I've always liked is the way it supports a template, which prompts the user with a short list of possible arguments, rather than reading man pages or whatever. For example, the copy command. If you type "copy ?" at the prompt, it gives you this prompt: "FROM/M,TO/A,ALL/S,QUIET/S,BUF=BUFFER/K/N,CLONE/S,DATES/S,NOPRO/S,COM /S,NOREQ/S" and lets you just type the arguments you need without typing copy again. /S says that argument is a switch, /A says it's always required, /M means it accepts multiple files or objects, /K means it's a keyword and /N means that keyword takes a numerical argument. BUF=BUFFER shows that the command accepts the keyword "buf" as a shortened version of "buffer" for those who use it frequently to save a bit of typing.

So it's easy to see that copy supports a command line like "copy sys:testfile ram: quiet noreq" which copies the testfile to the RAM: drive, suppresses verbose and suppresses "overwrite?" requests.

That sort of thing would be very handy in a new CLI for the more complicated tools!

Reply Score: 1