Richer command line interfaces
> This post is preceded by a description of two types of command line interfaces. The more command line-like of these two types integrates into a normal shell session (python, telnet, bash) instead of using the alternate screen to present a fullscreen text user interface (top, vim, emacs). Sometimes programs blur this boundary with fancy formatting in a line-oriented command line interface, carefully avoiding overwriting previous user inputs and command outputs. On-keystroke autocompletion, multiline editing, inline documentation and syntax highlighting can be implemented with these techniques, making command line interfaces more useful.
I think this is trending towards dangerously fragile, but it’s still good information.