Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teach CommandPalette to natively support tabs and command lines #8415

Open
2 of 5 tasks
Don-Vito opened this issue Nov 27, 2020 · 2 comments
Open
2 of 5 tasks

Teach CommandPalette to natively support tabs and command lines #8415

Don-Vito opened this issue Nov 27, 2020 · 2 comments
Assignees
Labels
Area-CmdPal Command Palette issues and features Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Milestone

Comments

@Don-Vito
Copy link
Contributor

Don-Vito commented Nov 27, 2020

Description of the new feature/enhancement

Currently command palette has a single set of UIEelements that present different sets of Commands. This approach has a lot of gaps:

  1. To support tabs and command lines we need to convert them into Commands. This leads to extra complexity in maintaining model correctness (e.g., every time we reorder tabs we need to fix the relevant command as well).
  2. The same element reuse for different purposes makes CommandPalette complex (you need to reconfigure the control upon every mode switching). It also causes undesired re-computations.

Proposed technical implementation details (optional)

My plan to achieve it gradually is following:

@Don-Vito Don-Vito added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Nov 27, 2020
@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Nov 27, 2020
@Don-Vito
Copy link
Contributor Author

@DHowett - can you please assign this one to me? 😊

@DHowett
Copy link
Member

DHowett commented Nov 27, 2020

Happy to 😄 thanks

@zadjii-msft zadjii-msft added Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. Product-Terminal The new Windows Terminal. and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Nov 29, 2020
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Nov 29, 2020
@zadjii-msft zadjii-msft added this to the Terminal Backlog milestone Nov 29, 2020
@zadjii-msft zadjii-msft added the Area-CmdPal Command Palette issues and features label Dec 1, 2020
ghost pushed a commit that referenced this issue Dec 10, 2020
…#8420)

First step towards #8415:
* Introduce `PaletteItem` and derive from it to provide native support
  for tabs and command lines (`ActionPaletteItem` / `TabPaletteItem`,
  `CommandLinePaltteItem`)
* Remove business logic behind PaletteItem from palette (aka dispatch
  commands and preview tabs externally)
ghost pushed a commit that referenced this issue Jan 4, 2021
A part of the #8415.
Very technical commit to simplify the terminal page code
towards additional steps of simplifying tab management.
No business logic should change.

A firs step in splitting #8427
ghost pushed a commit that referenced this issue Jan 19, 2021
A part of the #8415.
Includes:
* Moving `TabSwitcherMode` related decisions into `CommandPalette`
(simplifying the logic of `TerminalPage::SelectNextTab`)
* Fix a bug where the index of first tab switch is incorrect
(since bindings are not updated)
* Removing redundant `CommandPalette` updates
* Preparations for tabs binding
mpela81 pushed a commit to mpela81/terminal that referenced this issue Jan 28, 2021
…microsoft#8420)

First step towards microsoft#8415:
* Introduce `PaletteItem` and derive from it to provide native support
  for tabs and command lines (`ActionPaletteItem` / `TabPaletteItem`,
  `CommandLinePaltteItem`)
* Remove business logic behind PaletteItem from palette (aka dispatch
  commands and preview tabs externally)
mpela81 pushed a commit to mpela81/terminal that referenced this issue Jan 28, 2021
A part of the microsoft#8415.
Very technical commit to simplify the terminal page code
towards additional steps of simplifying tab management.
No business logic should change.

A firs step in splitting microsoft#8427
mpela81 pushed a commit to mpela81/terminal that referenced this issue Jan 28, 2021
A part of the microsoft#8415.
Includes:
* Moving `TabSwitcherMode` related decisions into `CommandPalette`
(simplifying the logic of `TerminalPage::SelectNextTab`)
* Fix a bug where the index of first tab switch is incorrect
(since bindings are not updated)
* Removing redundant `CommandPalette` updates
* Preparations for tabs binding
@zadjii-msft zadjii-msft modified the milestones: Terminal Backlog, Backlog Jan 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-CmdPal Command Palette issues and features Area-CodeHealth Issues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc. Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

3 participants