Skip to content

Add autocompletion, man page, and standard CLI flags#33

Merged
arbourd merged 1 commit into
mainfrom
complete
May 8, 2026
Merged

Add autocompletion, man page, and standard CLI flags#33
arbourd merged 1 commit into
mainfrom
complete

Conversation

@arbourd
Copy link
Copy Markdown
Owner

@arbourd arbourd commented May 7, 2026

Implements shell completion for Bash, Fish, Zsh, and PowerShell. Walks GETPATH to provide tab completion for available roots. Adds --help and --version flags. Updates Goreleaser config for completion, man pages, and version ldflags.

Closes #14

@arbourd arbourd force-pushed the complete branch 3 times, most recently from 749dfc4 to a083292 Compare May 7, 2026 15:59
@arbourd arbourd changed the title feat: add autocompletion and standard CLI flags Add autocompletion, man page, and standard CLI flags May 7, 2026
@arbourd arbourd requested a review from Copilot May 7, 2026 16:01
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds user-facing CLI ergonomics to git-get by introducing shell completion support, standard --help/--version flags, a man page, and build-time version stamping so distributed binaries report meaningful versions.

Changes:

  • Add --help, --version, and an internal --complete mode; refactor main to be testable via injected args/stdout/stderr.
  • Implement repository path completion by walking GETPATH for .git directories, plus new completion scripts for Bash/Zsh/Fish/PowerShell.
  • Add a man page and wire release/CI tooling to stamp versions and ship man/completion artifacts.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
README.md Documents autocompletion installation steps.
man/git-get.1 Introduces a man page for the CLI.
main.go Adds help/version/complete flags, version var, and refactors execution flow.
main_test.go Adds tests for the new CLI flag behaviors and completion plumbing.
get/complete.go Adds GETPATH-walking completion implementation.
get/complete_test.go Adds unit tests for completion matching behavior.
completions/git-get.bash Bash completion script using --complete.
completions/git-get.zsh Zsh completion script using --complete.
completions/git-get.fish Fish completion script using --complete.
completions/git-get.ps1 PowerShell argument completer using --complete.
.goreleaser.yml Stamps version via ldflags; packages man/completions; adds Homebrew metadata.
.github/workflows/ci.yml Stamps version in CI builds via ldflags.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread get/complete.go Outdated
Comment thread get/complete.go
Comment thread completions/git-get.zsh
Comment thread README.md Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 6 comments.

Comment thread main.go Outdated
Comment thread completions/git-get.zsh Outdated
Comment thread man/git-get.1
Comment thread get/complete.go
Comment thread .goreleaser.yml Outdated
Comment thread main_test.go
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.

Comment thread main.go
Comment thread man/git-get.1
Comment thread main_test.go Outdated
Comment thread main.go Outdated
Comment thread README.md
@arbourd arbourd force-pushed the complete branch 13 times, most recently from ce66f60 to ae98c4b Compare May 8, 2026 03:10
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.

Comment thread get/get.go
Comment thread get/complete.go Outdated
Comment thread get/complete.go
@arbourd arbourd force-pushed the complete branch 2 times, most recently from 0199795 to 91c412a Compare May 8, 2026 04:00
@arbourd arbourd requested a review from Copilot May 8, 2026 04:00
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.

Comment thread completions/git-get.zsh Outdated
Comment thread .goreleaser.yml Outdated
@arbourd arbourd force-pushed the complete branch 3 times, most recently from f41dc4a to 09c582c Compare May 8, 2026 19:49
@arbourd arbourd requested a review from Copilot May 8, 2026 19:50
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated 5 comments.

Comment thread get/get.go
Comment thread get/get.go
Comment thread get/get.go
Comment thread completions/git-get.bash Outdated
Comment thread completions/git-get.bash
Implements shell completion for Bash, Fish, Zsh, and PowerShell. Walks GETPATH to provide tab completion for available roots. Adds --help and --version flags. Updates Goreleaser config for completion, man pages, and version ldflags.
@arbourd arbourd merged commit eb76144 into main May 8, 2026
4 checks passed
@arbourd arbourd deleted the complete branch May 8, 2026 20: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.

Add autocompletion

2 participants