-
Notifications
You must be signed in to change notification settings - Fork 8k
Closed
Labels
accessibilitydiscussFeature changes that require discussion primarily among the GitHub CLI teamFeature changes that require discussion primarily among the GitHub CLI teamtech-debtA chore that addresses technical debtA chore that addresses technical debt
Description
This issue covers a multi-phase series of improvements and changes to our implementation of user prompts.
There are three major themes for this work:
- Improve the experience of using accessibility software with our interactive prompts
- Pay down tech debt around prompting
- Make it easier to do more sophisticated things with prompts
We'll be taking an approach of short term patches to the prompting library we use (survey) and then deciding on long term solutions by way of prototyping and experiments with both in-house and off the shelf solutions.
Specific outcomes of this work, theme noted:
- The invisible terminal cursor follows the interactive cursor to make screen readers more accurate (1)
- It's easier to write high quality unit tests for interactive prompts (2)
- Prompting is exposed to command code via factories like other I/O components (2)
- We no longer do copy-and-paste hacks to enable things like "press e for editor" (3)
- Fuzzy finding in prompts is more flexible and configurable, specifically for
issue viewandpr viewinteractive selectors when no args are provided (3)
Plan:
surveyPR to ensure cursor behavior is correct- prototypes of "press e to edit", multi-select, and fuzzy finding using:
- fork of
surveywith no plan to keep changes merge-able upstream - a PR on top of
surveywith plan to keep changes merge-able upstream - https://github.com/charmbracelet/bubbletea
- fork of
- decide on which prototype to pursue
- make the selected prototype release-ready
- plan a migration path for implementing the new prompting strategy
- do migration, retiring $oldprompts when possible
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
accessibilitydiscussFeature changes that require discussion primarily among the GitHub CLI teamFeature changes that require discussion primarily among the GitHub CLI teamtech-debtA chore that addresses technical debtA chore that addresses technical debt