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.
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 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.
The hosts completions
subcommand can be used for installing and uninstalling
completion scripts. Depending on your configuration, you might need to use
sudo
to install completion scripts easily:
> sudo hosts completions check
Completion scripts not found.
> sudo hosts completions install
Completion script installed: /usr/share/bash-completion/completions/hosts
Completion script installed: /usr/local/share/zsh/site-functions/_hosts
> sudo hosts completions check
Exists: /usr/share/bash-completion/completions/hosts
Exists: /usr/local/share/zsh/site-functions/_hosts
> sudo hosts completions uninstall
Completion script removed: /usr/share/bash-completion/completions/hosts
Completion script removed: /usr/local/share/zsh/site-functions/_hosts
If you installed hosts
manually by downloading just the hosts
script,
the completion scripts won't be immediately available for
hosts completions install
. You can try installing the completions with
the --download
flag, which will get the latest version from GitHub:
sudo hosts completions install --download
hosts completions
will try to determine the completion script directories
from your environment. If hosts completions
isn't able to install
the completion scripts, you can try installing them manually.
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
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
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