Shell Completion

Generate a shell completion file for supported shells (bash/fish/zsh/powershell)
yq shell-completion --variation=zsh

Prints to StdOut a shell completion script for zsh shell.

Bash (default)

source <(yq shell-completion bash)

To load completions for each session, execute once:

Linux:

yq shell-completion bash > /etc/bash_completion.d/yq

MacOS:

yq shell-completion bash > /usr/local/etc/bash_completion.d/yq

zsh

If shell completion is not already enabled in your environment you will need to enable it. You can execute the following once:

echo "autoload -U compinit; compinit" >> ~/.zshrc

To load completions for each session, execute once:

yq shell-completion zsh > "${fpath[1]}/_yq"

You will need to start a new shell for this setup to take effect.

fish

yq shell-completion fish | source

To load completions for each session, execute once:

yq shell-completion fish > ~/.config/fish/completions/yq.fish

PowerShell

yq shell-completion powershell

Users need PowerShell version 5.0 or above, which comes with Windows 10 and can be downloaded separately for Windows 7 or 8.1. They can then write the completions to a file and source this file from their PowerShell profile, which is referenced by the $Profile environment variable.