elm ins[TAB]
elm install
elm install elm-ex[TAB]
elm install elm-explorations/
elm install elm-explorations/w[TAB]
elm install elm-explorations/webglNon-prefix matches are supported with Bash:
elm install metadata[TAB]
elm install elm/project-metadata-utils
Grep basic regular expressions (BRE) are also supported:
elm install /elm-ui$[TAB]
elm install mdgriffith/elm-ui
To install, there are two options:
- using
.bashrcor.bash_profile - using
bash_completion.d
Whatever the method, be sure that the script is sourced after
potential $PATH settings that allow to find the elm command
as the completion script needs to be able to run elm --version.
If elm command is not available when the completion script is loaded,
you will get the following error when starting your shell:
elm-sh-completion error: cannot run 'elm --version'
Please check that elm command is available from PATH.
It might be easier using .bashrc if you install elm globally using npm
or nvm, because node paths are often defined by default after completion
scripts are loaded.
~/.bashrc is usually used on Linux, ~/.bash_profile on MacOS X.
For example:
mkdir -p ~/.bash
cd ~/.bash
git clone https://github.com/dmy/elm-sh-completion.gitthen on Linux:
echo 'source ~/.bash/elm-sh-completion/elm-completion.sh' >> ~/.bashrc
or on MacOS X:
echo 'source ~/.bash/elm-sh-completion/elm-completion.sh' >> ~/.bash_profile
If /etc/bash_completion.d exists on your system:
sudo curl -o /etc/bash_completion.d/elm https://raw.githubusercontent.com/dmy/elm-sh-completion/master/elm-completion.shOn MacOS X with brew, you can do:
brew install bash-completion
sudo curl -o /usr/local/etc/bash_completion.d/elm https://raw.githubusercontent.com/dmy/elm-sh-completion/master/elm-completion.sh
Because packages are completed from elm local registry, any elm command using
it will update the list automatically, including elm init, elm install,
elm diff.
You will therefore usually not need to worry about updating the list.
If you want anyway a command to force the update of the packages list, you can
for example define the following bash alias in your ~/.bashrc:
alias elm-update-registry='elm diff elm/core 1.0.0 1.0.1 > /dev/null'- To get case insensitive bash completion, add
set completion-ignore-case onin user~/.inputrc(which should start by$include /etc/inputrc) or system wide/etc/inputrc. - Zsh completion uses bashcompinit.
- Cygwin is theorically supported, but this has not been tested yet.
elm-jsonalso comes with basic auto-generated completion scripts for bash, zsh and fish.
Seeelm-json completions --help.