Skip to content

Enhance shell autocompletion with a cool new user interface and shell completion protocol #3121

Open

Description

@anki-code

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

Activity

  1. added
    Issue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.
    on Oct 8, 2019
  2. ghost added
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Oct 8, 2019
  3. ghost added
    Needs-Tag-FixDoesn't match tag requirements
    on Oct 8, 2019
  4. changed the title [-]Concept of 21st century terminal[/-] [+]Enhance shell autocompletion with a cool new user interface and shell completion protocol[/+] on Oct 10, 2019
  5. added
    Area-ExtensibilityA feature that would ideally be fulfilled by us having an extension model.
    Area-InteropCommunication between processes
    Area-UserInterfaceIssues pertaining to the user interface of the Console or Terminal
    and removed
    Needs-TriageIt's a new issue that the core contributor team needs to triage at the next triage meeting
    on Oct 10, 2019
  6. ghost removed
    Needs-Tag-FixDoesn't match tag requirements
    on Oct 10, 2019
  7. zadjii-msft commented on Oct 24, 2019

    @zadjii-msft
    Member

    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.

  8. huoyaoyuan commented on Nov 15, 2019

    @huoyaoyuan
    Contributor

    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.

  9. n3wt0n commented on Feb 4, 2020

    @n3wt0n

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

    image

    This works for both files/folder and commands

  10. remkop commented on May 19, 2020

    @remkop

    Mike Griese (@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.)

  11. 61 remaining items

  12. Welding-Torch commented on Feb 28, 2024

    @Welding-Torch

    I just started using Warp for WSL and it feels like it's lightyears ahead of this stuff. I think it would be great if Windows Terminal took some notes from it, especially on this feature request that's been open since 2019.

    Also mentioned earlier in this thread by: Alan Ninan Thomas (@just1a-person) in 2021 and Dennis E. Hamilton (@orcmid).

  13. added
    A11yUsableAccessibility tracking
    and removed
    A11yWCAGAccessibility tracking
    A11yMASAccessibility tracking
    on Jun 13, 2025
  14. Jaykul commented on Sep 10, 2025

    @Jaykul
    Contributor

    For what it's worth, after playing with the current preview bits ....

    If the pretty terminal GUI gets the same information as the PowerShell TUI but just shows less of it, I don't think just the UI is going to win me over.

    I need that menu to be wider, and I need some sort of support for that extra tool-tip text like what's in #3121 (comment) or in any of the default PowerShell ctrl+space completions for command names, where when you highlight one of the options you get a syntax block:

    Image

    Otherwise, I'm trading off the TUI for GUI but loosing information...

    Obviously the risk here is that there's a little bit of a feature race going on when it comes to in-terminal help/completion/menus/etc., so there's every chance that as soon as you add support for some extra text, someone starts adding whole doc pages in a fzf style three-pane thing, or ... I don't know what ;-)

    I still feel like this completion needs to at least be able to show the current information PowerShell feeds it ;)

  15. DHowett commented on Sep 10, 2025

    @DHowett
    Member

    I still feel like this completion needs to at least be able to show the current information PowerShell feeds it ;)

    weeeelll so far it feeds it nothing. that's somewhat what this deliverable is tracking: a protocol using-which PowerShell can feed it. :)

  16. Tyriar commented on Sep 10, 2025

    @Tyriar

    FWIW I ripped the pwsh session based completions out of VS Code in favor of the generic fig ones and LSP-based completions. At least the way we did it, feeding completions through the pty as the transport mechanism ended up locking up the terminal too much since it's the only pipe for I/O.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

A11yUsableAccessibility trackingArea-ExtensibilityA feature that would ideally be fulfilled by us having an extension model.Area-InteropCommunication between processesArea-UserInterfaceIssues pertaining to the user interface of the Console or TerminalDisability-AllAccessibility trackingHCL-E+DAccessibility trackingHCL-WindowsTerminalAccessibility trackingInclusionBacklogAccessibility trackingInclusionBacklog-Windows TerminalWin32Accessibility trackingIssue-FeatureComplex enough to require an in depth planning process and actual budgeted, scheduled work.Product-TerminalThe new Windows Terminal.WindowsTerminal_Win32

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions