2.6 KiB
hosts
Tab Completion
Homebrew
Installing via Homebrew with brew install xwmx/taps/hosts
will also
install the completion scripts.
A one-time setup might be needed to enable completion for all Homebrew programs.
npm, bpkg, Make
When hosts
is installed with npm
, bpkg
, or Make, an install hook will
check the environment and attempt to install completions. If it's successful,
you should see a message similar to:
Completion installed: /usr/local/etc/bash_completion.d/hosts-completion.bash
Completion installed: /usr/local/share/zsh/site-functions/_hosts
If completion is working after installing through any of these methods, then you don't need to do anything else.
scripts/hosts-completion
hosts
includes a script for installing and uninstalling hosts
completions
that is used in installation hooks:
hosts-completion
To run this script directly, navigate to this directory in your terminal, and run:
./hosts-completion
To install completions:
./hosts-completion install
To uninstall:
./hosts-completion uninstall
Use the check
subcommand to determine if completion scripts are installed:
> ./hosts-completion check
Exists: /usr/local/etc/bash_completion.d/hosts-completion.bash
Exists: /usr/local/share/zsh/site-functions/_hosts
This script will try to determine the completion installation locations from your environment. If completion doesn't work, you might need to try installing manually.
Manual Installation
bash
Linux
On a current Linux OS (in a non-minimal installation), bash completion should be available.
Place the completion script in /etc/bash_completion.d/
:
sudo curl -L https://raw.githubusercontent.com/xwmx/hosts/master/hosts-completion.bash -o /etc/bash_completion.d/hosts
macOS
If you aren't installing with homebrew, source the completion script in
.bash_profile
:
if [[ -f /path/to/hosts-completion.bash ]]
then
source /path/to/hosts-completion.bash
fi
zsh
Place the completion script in your /path/to/zsh/completion
(typically
~/.zsh/completion/
):
$ mkdir -p ~/.zsh/completion
$ curl -L https://raw.githubusercontent.com/xwmx/hosts/master/hosts-completion.zsh > ~/.zsh/completion/_hosts
Include the directory in your $fpath
by adding in ~/.zshrc
:
fpath=(~/.zsh/completion $fpath)
Make sure compinit
is loaded or do it by adding in ~/.zshrc
:
autoload -Uz compinit && compinit -i
Then reload your shell:
exec $SHELL -l