3 ms·
This makes me want to re-implemented "commando" from AUX/MPW (I've never understood why this idea didn't take off). If you don't know, when you typed an ellips
by Tloewald 10y ago
This makes me want to re-implemented "commando" from AUX/MPW (I've never understood why this idea didn't take off).
If you don't know, when you typed an ellipsis after a command in AUX or MPW a dialog box would be displayed showing the most popular toggles and options for the command (and allowing graphical file-picking). When you clicked "ok" it would type the command for you, so it made the command line both easier to use and easier to learn.
(I just downloaded and tried it out and lost my enthusiasm. There's no attempt to provide a proper GUI.)
- city41 10y agoWhat did you lose enthusiasm for? commando or HyperTerm? I've been toying with the idea of a "teaching terminal" for learning the command line as well, and building off of HyperTerm seems like a good approach.
- Jtsummers 10y agoA teaching shell might be more important. Something like what Reason does for OCaml, but done for the the unix command line. Use the model of something like is common with a lot of MUD clients, all text input occurs in a field at the bottom (look at tinyfugue). Below that have a set of autocomplete hints. This would be filled in based off of common usage, and knowledge of binaries avialable in the path, knowledge of the command line arguments of common tools (git-prompt.sh is really nice for getting my new-to-git coworkers started, for instance). This could be wrapped up in the terminal, but needs to be aware of the environment in which it's being executed which moves beyond the purview of most terminal emulators and into the area of the shell itself. EDIT: Rough ascii art illustration: +----------------------------------------------------+ | > cat foo.txt | | Hello, world! | | | //////////////////////////////////////////////////// | | +----------------------------------------------------+ | > ca | +----------------------------------------------------+ |cat | cac... | cal...| can... | can... | cap... | +----------------------------------------------------+ `cat` first because of frequency of use (in general) and recent use. Others are showing other matches of the currently typed value + one letter, ... indicating more than one option. You'd want usage statistics on common commands, and you'd need to assemble a database of command line options. Might be able to grab these from man/info pages, but formatting is likely inconsistent. Could at least get started that way. And you'd want to collect the users history to customize it. This'd be equivalent to the hints on many mobile OS keyboards. I could see this being pulled into the terminal, rather than the shell itself. But it'd still need information about the underlying environment (easy if local, hard if remote). How do terminal emulators on tablets handle keyboard input? Do any of them offer guided hints?
- city41 10y agoyou're right this is probably better inside the shell. That'd make it more cross platform too. I was thinking a different approach on how it'd work. Since the goal is teaching, I'd prepopulate it with support for really basic stuff like cat, ls, echo etc. And the bottom portion would be focused on teaching how these commands work and guiding through most common use cases. Then as the user advances, they could install new modules. Maybe they now want to start text processing so could recommend they install the grep, awk or sed modules and then begin taking those tools on.
- laumars 10y ago`fish` shell works a little like this.
- deleted 10y ago[deleted]
- klibertp 10y agoYou mention OCaml, so you probably are aware, but others may not be: there is an `utop` project, which does exactly this for OCaml REPL. It looks like this: ─( 16:36:52 )─< command 0 >───────────────────────{ counter: 0 }─ utop # ┌───┬────────────┬─────┬───────────┬──────────────┬───────┬─────┐ │Arg│Arith_status│Array│ArrayLabels│Assert_failure│Big_int│Bigar│ └───┴────────────┴─────┴───────────┴──────────────┴───────┴─────┘ and supports syntax highlighting and autocompletion, among other features. Similar to bpython in Python-land. Link: https://opam.ocaml.org/blog/about-utop/ https://opam.ocaml.org/blog/about-utop/
- flomo 10y ago> I just downloaded and tried it out and lost my enthusiasm. There's no attempt to provide a proper GUI. That was always my take on Commando. In theory, there's an idea there. In practice, it's not clear who it was supposed to appeal to. If one has to mouse around, just provide a proper GUI wrapper for the tool.
- Tloewald 10y agoI lost enthusiasm for hyperterm. Commando was awesome.
- deleted 10y ago[deleted]