feat: add contextual completion for the new :Forge command language #146
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#146
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
A structured
:Forgecommand language will only feel good if it is discoverable from the command line.Without contextual completion, users will have to memorize:
That makes the new CLI harder to learn than the picker, even if it is more precise.
Proposed solution
Add contextual command-line completion for the canonical
:Forgeinterface proposed in #142.Completion stages
1. Family completion
After
:Forgecomplete:rootprissuecireleasebrowse2. Verb completion
Examples:
:Forge pr->list,review,checkout,worktree,browse,ci,manage,close,reopen,create,edit, and any newly added parity verbs:Forge issue->list,browse,close,reopen,create3. Modifier-name completion
Offer only modifiers valid for the resolved family/verb.
Examples:
:Forge pr list->state=,repo=:Forge pr create->head=,base=,draft,fill,web:Forge ci list->repo=,rev=,target=,all4. Modifier-value completion
repo=-> aliases, remotes, recent explicit reposrev=-> branches, tags, recent SHAstarget=/head=/base=-> repo aliases first, then revisions after@Initial scope
V1 does not need full remote path completion after
:. That can land later.Acceptance criteria
repo=completion includes aliases/remotesrev=completion includes branches/tags/basic SHA supporttarget=/head=/base=completion works for repo + revision formsAlternatives considered