Skip to content

feat: add dynamic shell autocompletion for branches and tickets - #46

Merged
developerdavi merged 1 commit into
mainfrom
feature/dynamic-auto-complete
Mar 18, 2026
Merged

feat: add dynamic shell autocompletion for branches and tickets#46
developerdavi merged 1 commit into
mainfrom
feature/dynamic-auto-complete

Conversation

@developerdavi

@developerdavideveloperdavi commented Mar 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds a hidden _completions command that outputs tracked branch names or ticket IDs (one per line) by reading ~/.morg/ state files
  • Updates Bash and Zsh completion scripts to call morg _completions dynamically for commands that accept branch/ticket arguments
  • Completions are silent on errors (non-morg repos, missing files) and require no config validation or network calls

Commands with dynamic completion

CommandCompletes
switch, complete, delete, untrackBranch names (active/pr_open)
track1st arg: branches, 2nd arg: ticket IDs
pr viewBranch names
ticket, ticketsTicket IDs + existing flags

Test plan

  • pnpm typecheck — clean
  • pnpm lint — clean
  • pnpm test — 60 tests passing (6 new)
  • morg _completions branches outputs tracked branches
  • morg _completions tickets outputs ticket IDs
  • Silent exit in non-morg directories
  • Manual: eval "$(morg shell-init zsh)" then morg switch [tab] shows branches

Add a hidden `_completions` command that outputs tracked branch names
or ticket IDs for shell tab-completion. Update both Bash and Zsh
completion scripts to call it dynamically for commands that accept
branch/ticket arguments (switch, complete, delete, untrack, track,
pr view, ticket, tickets).
@developerdavi
developerdavi merged commit 1b04266 into mainMar 18, 2026
1 check passed
@developerdavi
developerdavi deleted the feature/dynamic-auto-complete branch March 18, 2026 19:07
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@developerdavi