microsoft / microsoft/terminal

Command Decorations / Marks in the gutter / margin / padding

Open
#16,599 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-TerminalControl In-PR Issue-Task Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

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.

![](https://user-images.githubusercontent.com/10746682/204557790-d8f924ed-77f7-44a1-80ad-1ade6b83fdaa.png) ![](https://user-images.githubusercontent.com/2193314/204605411-1106e6d4-70ed-4b45-884f-c09dba3cb040.png)
![](https://user-images.githubusercontent.com/29464607/204635771-335ac900-b13a-4a12-8808-36d6ab0f5080.png)

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

* #15700
* https://github.com/microsoft/vscode/issues/166761
* #16848

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the referenced issues #15700 and #16848, then compare the linked VS Code issue. The issue is ready for implementation only after the project has a clear decision on gutter versus padding, default behavior, and how command marks and quick fixes should be represented.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.