Terminal: Enhance shell autocompletion with a cool new user interface and shell completion protocol

Created on 8 Oct 2019  Â·  6Comments  Â·  Source: microsoft/terminal

Hello! Thank you for the new interesting project!

I just want to let you know about 🚀 Upterm — really great proof of concept but it stopped because maintainer was gone. This terminal looks like 21st century terminal. Very sad that it isn't supported.

image

up30485947-aeaa5398-9a37-11e7-927c-769304744844

up29716319-95f9a8d8-89b3-11e7-8515-fcb236eb4454

image

image

Area-Extensibility Area-Interop Area-User Interface Issue-Feature Product-Terminal

Most helpful comment

That would be really cool, or something like the iTerm 2 autocompletion on Mac. (cmd + ;)

image

This works for both files/folder and commands

All 6 comments

This looks really cool, though this looks like something the shell would have to work with the terminal to achieve.

How was Upterm providing those autocomplete suggestions? Did they have their own shell they were using, or were they somehow pulling the auto-completions from bash/zsh/git somehow?

Presuming the shell provided a list of autocompletion suggestions to the terminal, drawing the UI shouldn't be _that_ hard. Cmd would obviously never be able to support this, but powershell core sure could. I'd be curious what kind of perf there would be for something like that, with the shell emitting a list of auto-completion suggestions after some delay/_on every character typed_.

Doing the collapsible json thing might be quite a bit harder however :P that definitely seems like they had a custom rolled cat that worked directly with the terminal.

I think you can get inspired by Visual Studio's C# Interactive and PowerShell ISE.
PowerShell already has a mechanism to collect completions, which is used by dotnet.exe.
And also, don't forget the great Language Server Protocol by Visual Studio.

That would be really cool, or something like the iTerm 2 autocompletion on Mac. (cmd + ;)

image

This works for both files/folder and commands

@zadjii-msft

Cmd would obviously never be able to support this, but powershell core sure could.

Cmd could certainly achieve bash-like completion: clink enhances Cmd with tab completion, which users can customize with simple lua scripts.

While not as fancy looking as the screenshots above, it would be hugely valuable if Cmd would support this out of the box.

(More detail: see docs and pre-built completions for common tools.)

I don't disagree, projects like clink and yori are _great_ and I love them. It's just that we really can't accept any changes to cmd.exe safely 😕 This doc covers some of the reasons why.

@zadjii-msft Thank you for the clarification. Makes sense and made me realize what a great job you and your team are doing. Keep it up! (Also thanks for pointing me to yori, I did not know about that project.)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

alabuzhev picture alabuzhev  Â·  3Comments

waf picture waf  Â·  3Comments

mrmlnc picture mrmlnc  Â·  3Comments

DieselMeister picture DieselMeister  Â·  3Comments

carlos-zamora picture carlos-zamora  Â·  3Comments