If you're like me, none of this made sense at first.<p>What I was missing: these users have complicated code in their $PS1 or other 'prompt variables', which makes the shell <i>do</i> things every time they change directories.<p>Indeed, the the title contains the word 'prompt'.<p>This is apparently a solution for a problem I don't have. (There's no way I'd ever tolerate a slow cd command, async or not!)
You know, you could probably build a whole new shell around this whole concept. Solve a couple of the fundamental UI issues (i.e., I don't really want my insertion point or the text I'm editing to be bouncing around as things chunk in) and I wouldn't be surprised you could take this concept further than you might initially think. For instance, one issue I often find I have is stale information as I flip around my shells; if my source plugin was updating in realtime everywhere, that would be useful. And I mean that as just one example of the sort of thing that could be useful if this was taken in deep in a new shell.
It might be interesting to have the "prompt" and details at the bottom of the screen... have your status details update async, and keep your prompt relatively raw.. much like text-mode chat clients.<p>It would be slightly more complex... for that matter, I tend to like multi-line prompts anyway, I don't like the line I'm typing on to wrap until there's a lot there, so prefer more details to be printed before the actual prompt.
One thing that would be nice would be to put the output of shell commands into a separate column from the prompt, with an ability to collapse or expand the output, outliner style. Modern computer displays have lots of extra real estate, there’s no reason to require everything to fit into a window 60 or 80 characters wide.
Seems like an overcomplicated solution to something zshell supports directly :)<p>A lot of themes don't use vcs_info to get this information, and consequently take time. I'm not sure what other types of information you would want to show that would take a long time to load.<p><a href="http://arjanvandergaag.nl/blog/customize-zsh-prompt-with-vcs-info.html" rel="nofollow">http://arjanvandergaag.nl/blog/customize-zsh-prompt-with-vcs...</a>
you could also just type '&' at the end of each command ;-)<p>What i'd like instead, is based on the same issue/idea, which would be a real "linemode" where your prompt is "locally updated" and anything sent to "the shell" is asynchronous.<p>This would not fork processes in the background (i want to be able to be selective on that obviously! so it would queue up processes if i dont specify '&' for example) but ensure that you can always get back to the prompt.<p>This also makes it so that the prompt would be instant over the network as well.<p>Note that some protocols do support linemode, just not SSH, or obviously not the native common shells either, at least, not without building a forked version