Skip to content

Command Decorations / Marks in the gutter / margin / padding  #16599

@zadjii-msft

Description

@zadjii-msft

placeholder thread while I actually write something up

Now see, if it was up to me, I'd recommend instead a "icon in the gutter", ala vscode. They've been working on these terminal-driven "quick fixes", that put a lightbulb in the "gutter". That lightbulb is clickable and shows a menu.


Basically, I'm thinking there's a few kinds of things that show up in the gutter:

  • marks for each command, driven by shell integration
  • quick fixes that are driven by some VT escape sequence that we haven't authored yet (so a CLI app could specifically recommend a command)
  • quick fixes that the Terminal generates on a CommandNotFound (<---- what you're working on)
  • quick fixes that are generated based on pattern matching (from that spec)

From Teams:

Trick is, what is the gutter?
We've already got the idea of "padding", but these icons all precipitate the need for like, at least 16px of padding on the left.
Which some people may greatly dislike
But I suppose our DEFAULT_PADDING is "8,8,8,8" already?
Alternatively, the "gutter" could be an "entirely separate thing from the padding". So a user could specifically opt into the gutter, and that would automatically reserve an additional 16px in the left padding.
And that, we could enable already by default (though, it would add left padding for people who already opt'd out)
Regardless. We've got to come up with a clear plan on what to do there first. Then it's easy to just have a VT sequence stick and additional sendInput command into a mark on the gutter, IMO

references

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-TerminalControlIssues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.)In-PRThis issue has a related PRIssue-TaskIt's a feature request, but it doesn't really need a major design.Product-TerminalThe new Windows Terminal.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions