Shell Completion
Versionator provides shell completion scripts for Bash, Zsh, Fish, and PowerShell.
Bash
Current Session
source <(versionator completion bash)
Permanent Installation
Linux:
versionator completion bash > /etc/bash_completion.d/versionator
macOS with Homebrew:
versionator completion bash > $(brew --prefix)/etc/bash_completion.d/versionator
Manual:
# Add to ~/.bashrc
echo 'source <(versionator completion bash)' >> ~/.bashrc
Zsh
Enable Completions
First, ensure Zsh completion is enabled:
echo "autoload -U compinit; compinit" >> ~/.zshrc
Install Completion
versionator completion zsh > "${fpath[1]}/_versionator"
Or add to ~/.zshrc:
source <(versionator completion zsh)
Oh My Zsh
versionator completion zsh > ~/.oh-my-zsh/completions/_versionator
Fish
Current Session
versionator completion fish | source
Permanent Installation
versionator completion fish > ~/.config/fish/completions/versionator.fish
PowerShell
Current Session
versionator completion powershell | Out-String | Invoke-Expression
Permanent Installation
Add to your PowerShell profile:
versionator completion powershell >> $PROFILE
Or create a dedicated file:
versionator completion powershell > "$HOME\Documents\WindowsPowerShell\versionator.ps1"
# Add to profile:
echo '. "$HOME\Documents\WindowsPowerShell\versionator.ps1"' >> $PROFILE
Completion Features
Once installed, tab completion provides:
- Command completion:
versionator <TAB>shows available commands - Subcommand completion:
versionator config prefix <TAB>shows subcommands - Flag completion:
versionator output version --<TAB>shows available flags - Flag value completion: For flags with known values
Examples
$ versionator <TAB>
completion config custom emit help major
metadata minor patch prefix prerelease schema
tag vars version
$ versionator config prefix <TAB>
disable enable set status
$ versionator output emit <TAB>
c c-header cpp cpp-header csharp dump
go java js json kotlin php
python ruby rust swift ts yaml
$ versionator output version --<TAB>
--help --metadata --prefix --prerelease --template
Troubleshooting
Bash: Completions not loading
Ensure bash-completion is installed:
# Debian/Ubuntu
sudo apt install bash-completion
# macOS with Homebrew
brew install bash-completion@2
Zsh: compdef not found
Add this before the completion source:
autoload -Uz compinit && compinit
Fish: Completions not working
Verify the completions directory exists:
mkdir -p ~/.config/fish/completions
PowerShell: Execution Policy
You may need to adjust the execution policy:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Updating Completions
After upgrading versionator, regenerate completions to get new commands:
# Bash
versionator completion bash > /etc/bash_completion.d/versionator
# Zsh
versionator completion zsh > "${fpath[1]}/_versionator"
# Fish
versionator completion fish > ~/.config/fish/completions/versionator.fish