feat: expose picker capabilities as first-class :Forge subcommands #145
Labels
No labels
bug
documentation
duplicate
enhancement
fugitive
good first issue
help wanted
invalid
question
v0.1.0
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
barrettruth/forge.nvim#145
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Prerequisites
Problem
The picker can currently express more meaningful operations than the command line can express directly.
That creates an awkward split:
If the new
:ForgeCLI is going to be canonical, no real forge capability should remain picker-only.Proposed solution
Use the CLI redesign in #142 as an opportunity to give command-line parity to semantic picker operations.
Principle
Anything the picker can do or view as a real domain operation should have a command form.
Picker-only UI affordances do not need command parity:
Priority command additions
PR
In addition to existing list/review/etc forms, expose commands for operations currently hidden behind PR manage flows:
:Forge pr approve {num} [repo=...]:Forge pr merge {num} method={merge|squash|rebase} [repo=...]:Forge pr draft {num} [repo=...]:Forge pr ready {num} [repo=...]CI
Make view operations precise without requiring picker navigation:
:Forge ci log {run-id} [repo=...]:Forge ci watch {run-id} [repo=...]Existing picker-openers can remain
Convenience commands like
:Forge pr manage 123can still exist, but they should not be the only API for underlying actions.Acceptance criteria
Alternatives considered