Re:How the Windows Subsystem for Linux Redirects Syscalls
by jdmichal on Thursday June 09, 2016 @10:35AM
(#11869618)
See, and I personally dislike the system you mention. It bugs me to no end to have only a couple options, but the system will only fill in the common prefix. Now I have to look, figure out what's there already, figure out what the next letter is, hit it, then hit tab again. If I want to save key strokes, that what aliases and symlinks are for, not tab completion.
Also, at least in PowerShell 5, if you run the ISE instead of the cmd-based terminal, it shows an IDE-like overlay of completions while you're typing.
Re:How the Windows Subsystem for Linux Redirects Syscalls
by ygra on Thursday June 09, 2016 @10:47AM
(#11869705)
> if you run the ISE instead of the cmd-based terminal
PowerShell depends (or is based) in no way on cmd.
Re:How the Windows Subsystem for Linux Redirects Syscalls
by jdmichal on Thursday June 09, 2016 @11:25AM
(#11870012)
I am fairly certain that they use the same console system. For instance, right-clicking on the title bar gives the exact same options as in `cmd.exe`. I was perhaps a little overzealous in calling it cmd-based; that's a slip-up on my part simply because `cmd.exe` was the only program to use that system before. Thanks for keeping me honest.
Re:How the Windows Subsystem for Linux Redirects Syscalls
by ygra on Thursday June 09, 2016 @11:37AM
(#11870091)
Both use the Windows console host, effectively what a terminal emulator is on Unix-likes. It provides the window and a bunch of other functionality (character grid with attributes, history, aliases, selection, drag&drop of files into the window, etc.).
It's just that every console application on Windows uses that host. This includes cmd, PowerShell, Far Manager, or even vi. Sorry, I may have seen it conflated with cmd too often. It just nags me. For Linux users it's probably when everyone starts calling a terminal (emulator) "bash".
They took a code completion technique that works alright for an IDE and put it on the command line, losing some key usability in the process when they could have just implemented the paradigm that has been standard in the Unix world for decades.
Yes, it does a great job of identifying what the completion possibilities are in almost every context. That's good enough for an IDE, but only half the job when you're making an interactive command line shell.
As for other readline features: it's really annoying to only partially implement a well-known set of keyboard shortcuts.