Shell Completion
Overview
Section titled “Overview”goctl uses Cobra framework development, so it inherits Cobra auto completion, in goctl, They provide the auto-completion features of cash,fish,zshandpowershell.
goctl completion directive
Section titled “goctl completion directive”$ goctl completion --helpGenerate the autocompletion script for goctl for the specified shell.See each sub-command's help for details on how to use the generated script.
Usage: goctl completion [command]
Available Commands: bash Generate the autocompletion script for bash fish Generate the autocompletion script for fish powershell Generate the autocompletion script for powershell zsh Generate the autocompletion script for zsh
Flags: -h, --help help for completion
Use "goctl completion [command] --help" for more information about a command.Currently goctl supports cash,fish,zshandpower shell if you are Windows operating system and use powershell, You can choose goctl complete power shell to generate scripts. If you are Linux or Mac operating systems, you can choose to create scripts other than goctl complete power shell but only by your current shell.
:::note for the current shell
in Linux or Mac operating systems, see the current shell, by echo $SHELL Effect is zsh, then select goctl completion zsh to generate script, The result is cash, select goctl completion cash to generate the script, The result is fish, select goctl complete fish to generate scripts.
:::
goctl completion bash directive
Section titled “goctl completion bash directive”$ goctl completion bash --helpGenerate the autocompletion script for the bash shell.
This script depends on the 'bash-completion' package.If it is not installed already, you can install it via your OS's package manager.
To load completions in your current shell session:
source <(goctl completion bash)
To load completions for every new session, execute once:
#### Linux:
goctl completion bash > /etc/bash_completion.d/goctl
#### macOS:
goctl completion bash > $(brew --prefix)/etc/bash_completion.d/goctl
You will need to start a new shell for this setup to take effect.
Usage: goctl completion bash
Flags: -h, --help help for bash --no-descriptions disable completion descriptionsIn Linux or Mac operating systems, if you are using cashyou can generate scripts by goctl completion bash , note that,goctl completion bash dependency bash-completion package support, if your operating system is not installed, it is recommended to install it yourself.
1 Temporary entry into force
Temporary entry is only useful for the current terminal session and is one-time in nature.
$ source <(goctl completion bash)2 Permanent entry into force
Permanently effective settings differ according to operating system and their setup method, need to restart terminals to take effect after setup. Currently settings for Linux and MacOS are set below:
Linux
$ goctl completion bash > /etc/bash_completion.d/goctlMacOS
$ goctl completion bash > $(brew --prefix)/etc/bash_completion.d/goctlgoctl completion fish directive
Section titled “goctl completion fish directive”$ goctl completion fish --helpGenerate the autocompletion script for the fish shell.
To load completions in your current shell session:
goctl completion fish | source
To load completions for every new session, execute once:
goctl completion fish > ~/.config/fish/completions/goctl.fish
You will need to start a new shell for this setup to take effect.
Usage: goctl completion fish [flags]
Flags: -h, --help help for fish --no-descriptions disable completion descriptions1 Temporary entry into force
Temporary entry is only useful for the current terminal session and is one-time in nature.
$ goctl completion fish | source2 Permanent entry into force
$ goctl completion fish > ~/.config/fish/completions/goctl.fishgoctl completion powershell directive
Section titled “goctl completion powershell directive”$ goctl completion powershell --helpGenerate the autocompletion script for powershell.
To load completions in your current shell session:
goctl completion powershell | Out-String | Invoke-Expression
To load completions for every new session, add the output of the above commandto your powershell profile.
Usage: goctl completion powershell [flags]
Flags: -h, --help help for powershell --no-descriptions disable completion descriptions1 Temporary entry into force
Temporary entry is only useful for the current terminal session and is one-time in nature.
$ goctl completion powershell | Out-String | Invoke-Expression2 Permanent entry into force
The following output needs to be added to the power shell’s profile.
$ goctl completion powershell | Out-String | Invoke-Expressiongoctl completion zsh directive
Section titled “goctl completion zsh directive”$ goctl completion zsh --helpGenerate the autocompletion script for the zsh shell.
If shell completion is not already enabled in your environment you will needto enable it. You can execute the following once:
echo "autoload -U compinit; compinit" >> ~/.zshrc
To load completions in your current shell session:
source <(goctl completion zsh); compdef _goctl goctl
To load completions for every new session, execute once:
#### Linux:
goctl completion zsh > "${fpath[1]}/_goctl"
#### macOS:
goctl completion zsh > $(brew --prefix)/share/zsh/site-functions/_goctl
You will need to start a new shell for this setup to take effect.
Usage: goctl completion zsh [flags]
Flags: -h, --help help for zsh --no-descriptions disable completion descriptions::tip hint If you are using zsh, and shell completion is not enabled, you can enable: by following instructions
echo "autoload -U compinit; compinit" >> ~/.zshrc:::
1 Temporary entry into force
Temporary entry is only useful for the current terminal session and is one-time in nature.
$ source <(goctl completion zsh); compdef _goctl goctl2 Permanent entry into force
Permanently effective settings differ according to operating system and their setup method, need to restart terminals to take effect after setup. Currently settings for Linux and MacOS are set below:
Linux
$ goctl completion zsh > "${fpath[1]}/_goctl"MacOS
$ goctl completion zsh > $(brew --prefix)/share/zsh/site-functions/_goctl