From 7d917589a49a6f4e9b7afaad6e852286eb7b6cbd Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 20 May 2018 19:05:26 -0400 Subject: [PATCH] fix: correct bash-completion integration The previous method did not work once the file was moved to the correct location. [ci skip] --- contrib/bash-completion | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/contrib/bash-completion b/contrib/bash-completion index fa0fa9b89..8923244f1 100644 --- a/contrib/bash-completion +++ b/contrib/bash-completion @@ -1,18 +1,10 @@ -#!/usr/bin/env bash - -_dokku_complete_goals_fetch() { - dokku --quiet help --all | awk '/^ /{ print $1 }' | sort > "/var/cache/dokku-completion" -} +# bash completion for dd -*- shell-script -*- _dokku_complete_verify() { declare desc="shows bash completion" declare COMMAND="$1" local COMMANDS="" - if [[ ! -f "/var/cache/dokku-completion" ]] || [[ -s "/var/cache/dokku-completion" ]]; then - _dokku_complete_goals_fetch - fi - _dokku_complete_goals=$(cat "/var/cache/dokku-completion") while read -r fn; do @@ -24,16 +16,16 @@ _dokku_complete_verify() { echo "${COMMANDS#";"}" } -have dokku && -_dokku_complete() { +_dokku() { local cur prev _get_comp_words_by_ref -n : cur + + if [[ ! -f "/var/cache/dokku-completion" ]] || [[ ! -s "/var/cache/dokku-completion" ]]; then + dokku --quiet help --all | awk '/^ /{ print $1 }' | sort > "/var/cache/dokku-completion" + fi + opts=$(_dokku_complete_verify "${cur}") COMPREPLY=($(IFS=";" compgen -W "$opts" -- "$cur")) __ltrim_colon_completions "$cur" } && -complete -F _dokku_complete dokku - -if [[ ! -f "/var/cache/dokku-completion" ]] || [[ -s "/var/cache/dokku-completion" ]]; then - have dokku && export -f _dokku_complete_goals_fetch && nohup bash -c _dokku_complete_goals_fetch >/dev/null 2>&1 & -fi +complete -F _dokku dokku