Skip to content

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

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

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

Conversation

@developerdavi
Copy link
Owner

@developerdavi developerdavi commented Mar 18, 2026

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

Command Completes
switch, complete, delete, untrack Branch names (active/pr_open)
track 1st arg: branches, 2nd arg: ticket IDs
pr view Branch names
ticket, tickets Ticket 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 main Mar 18, 2026
1 check passed
@developerdavi developerdavi deleted the feature/dynamic-auto-complete branch March 18, 2026 19:07
Sign up for free to 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