Skip to content
Snippets Groups Projects
Commit 7d2eba50 authored by nimrod's avatar nimrod
Browse files

Generate Bash completion, eval'ing everything makes spawning new shells slow.

parent 47a99f64
Branches
No related tags found
No related merge requests found
! command -v aws_completer >/dev/null || complete -C 'aws_completer' aws complete -C 'aws_completer' aws
command -v helm >/dev/null && eval "$(helm completion bash)"
command -v kompose >/dev/null && eval "$(kompose completion bash)"
command -v kops >/dev/null && eval "$(kops completion bash)"
command -v kubectl >/dev/null && eval "$(kubectl completion bash)"
command -v minikube >/dev/null && eval "$(minikube completion bash)"
...@@ -24,11 +24,13 @@ _molecule(){ ...@@ -24,11 +24,13 @@ _molecule(){
prev=${COMP_WORDS[COMP_CWORD-1]} prev=${COMP_WORDS[COMP_CWORD-1]}
firstword=$(_get_firstword) firstword=$(_get_firstword)
GLOBAL_COMMANDS="syntax create converge destroy idempotence init list login status test verify" GLOBAL_COMMANDS="syntax check create converge dependency destroy idempotence init list login status test verify"
GLOBAL_OPTIONS="-h -v" GLOBAL_OPTIONS="-h -v"
SYNTAX_OPTIONS="" SYNTAX_OPTIONS=""
CHECK_OPTIONS=""
CREATE_OPTIONS="--debug --platform --provider --tags" CREATE_OPTIONS="--debug --platform --provider --tags"
CONVERGE_OPTIONS="--debug --platform --provider --tags" CONVERGE_OPTIONS="--debug --platform --provider --tags"
DEPENDENCY_OPTIONS=""
DESTROY_OPTIONS="--debug --platform --provider --tags" DESTROY_OPTIONS="--debug --platform --provider --tags"
IDEMPOTENCE_OPTIONS="--debug --platform --provider --tags" IDEMPOTENCE_OPTIONS="--debug --platform --provider --tags"
INIT_OPTIONS="--docker" INIT_OPTIONS="--docker"
...@@ -42,6 +44,9 @@ _molecule(){ ...@@ -42,6 +44,9 @@ _molecule(){
# echo -e "\nprev = $prev, cur = $cur, firstword = $firstword.\n" # echo -e "\nprev = $prev, cur = $cur, firstword = $firstword.\n"
case "${firstword}" in case "${firstword}" in
check)
complete_options="${CHECK_OPTIONS}"
;;
create) create)
case "${prev}" in case "${prev}" in
--platform) --platform)
...@@ -68,6 +73,9 @@ _molecule(){ ...@@ -68,6 +73,9 @@ _molecule(){
;; ;;
esac esac
;; ;;
dependency)
complete_options="${DEPENDENCY_OPTIONS}"
;;
destroy) destroy)
case "${prev}" in case "${prev}" in
--platform) --platform)
...@@ -107,6 +115,9 @@ _molecule(){ ...@@ -107,6 +115,9 @@ _molecule(){
status) status)
complete_options="${STATUS_OPTIONS}" complete_options="${STATUS_OPTIONS}"
;; ;;
syntax)
complete_options="${SYNTAX_OPTIONS}"
;;
test) test)
case "${prev}" in case "${prev}" in
--platform) --platform)
......
! command -v packer >/dev/null || complete -C packer packer complete -C packer packer
command -v pandoc > /dev/null && pandoc --bash-completion > /dev/null && eval "$( pandoc --bash-completion )"
command -v pipenv > /dev/null && eval "$(pipenv --completion)"
! command -v terraform >/dev/null || complete -C terraform terraform complete -C terraform terraform
! command -v vault >/dev/null || complete -C vault vault complete -C vault vault
#!/bin/sh #!/bin/sh
set -eu set -eu
cd "$(git rev-parse --show-toplevel)" cd "$(git rev-parse --show-toplevel)"
echo Downloading binary and vendored files >> /dev/stderr
make
echo Installing Golang apps >> /dev/stderr echo Installing Golang apps >> /dev/stderr
go get github.com/giantswarm/semver-bump || true go get github.com/giantswarm/semver-bump || true
go get github.com/nishanths/license || true go get github.com/nishanths/license || true
go get sigs.k8s.io/kind || true go get sigs.k8s.io/kind || true
echo Installing Python apps >> /dev/stderr echo Installing Python apps >> /dev/stderr
python3 -m pip install --user --requirement requirements.txt python3 -m pip install --user --requirement requirements.txt
echo Downloading binary and vendored files, creating generated files >> /dev/stderr
git clean -fX .bash_completion.d/
make all
echo Installing Git hooks >> /dev/stderr echo Installing Git hooks >> /dev/stderr
Documents/bin/install-git-hooks Documents/bin/install-git-hooks
echo Loading dconf config >> /dev/stderr echo Loading dconf config >> /dev/stderr
......
...@@ -8,8 +8,8 @@ curl = curl --location --silent --fail ...@@ -8,8 +8,8 @@ curl = curl --location --silent --fail
download = $(curl) --output $@ download = $(curl) --output $@
all: vendored generated binaries all: vendored generated binaries
vendored: .config/pythonrc.py .bash_completion.d/aws .bash_completion.d/docker-compose .bash_completion.d/docker-machine.bash .bash_completion.d/docker-machine.bash .travis/travis.sh vendored: .config/pythonrc.py .bash_completion.d/aws .bash_completion.d/docker-compose .bash_completion.d/docker-machine.bash .bash_completion.d/docker-machine.bash .travis/travis.sh .bash_completion.d/molecule
generated: .ssh/config generated: .ssh/config .bash_completion.d/helm .bash_completion.d/kops .bash_completion.d/kubectl .bash_completion.d/kompose .bash_completion.d/minikube .bash_completion.d/pipenv .bash_completion.d/pandoc
binaries: .local/share/bfg/bfg.jar .local/bin/rke .local/bin/docker-machine .local/bin/packer .local/bin/terraform .local/bin/vault .local/bin/kubectl .local/bin/kops .local/bin/kompose .local/bin/minikube .local/bin/docker-machine-driver-kvm2 binaries: .local/share/bfg/bfg.jar .local/bin/rke .local/bin/docker-machine .local/bin/packer .local/bin/terraform .local/bin/vault .local/bin/kubectl .local/bin/kops .local/bin/kompose .local/bin/minikube .local/bin/docker-machine-driver-kvm2
.ssh/config: $(ssh_configs) .ssh/config: $(ssh_configs)
...@@ -83,3 +83,27 @@ binaries: .local/share/bfg/bfg.jar .local/bin/rke .local/bin/docker-machine .loc ...@@ -83,3 +83,27 @@ binaries: .local/share/bfg/bfg.jar .local/bin/rke .local/bin/docker-machine .loc
.local/bin/helm: .local/bin/helm:
$(curl) https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-$(os)-$(arch).tar.gz | tar -C .local/bin --wildcards --strip-components=1 -zx */helm $(curl) https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-$(os)-$(arch).tar.gz | tar -C .local/bin --wildcards --strip-components=1 -zx */helm
chmod +x $@ chmod +x $@
.bash_completion.d/helm: .local/bin/helm
-$$(basename $@) completion bash > $@
.bash_completion.d/kompose: .local/bin/kompose
-$$(basename $@) completion bash > $@
.bash_completion.d/kops: .local/bin/kops
-$$(basename $@) completion bash > $@
.bash_completion.d/kubectl: .local/bin/kubectl
-$$(basename $@) completion bash > $@
.bash_completion.d/minikube: .local/bin/minikube
-$$(basename $@) completion bash > $@
.bash_completion.d/molecule:
$(download) https://raw.githubusercontent.com/ansible/molecule/1.25.1/asset/bash_completion/molecule.bash-completion.sh
.bash_completion.d/pipenv:
-bash -c 'pipenv --completion > $@'
.bash_completion.d/pandoc:
-pandoc --bash-completion > $@
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment