[Bash-completion-commits] [bash-completion] 01/01: Load user completions from $BASH_COMPLETION_USER_DIR/completions

Ville Skyttä scop-guest at moszumanska.debian.org
Mon Feb 16 20:18:14 UTC 2015


This is an automated email from the git hooks/post-receive script.

scop-guest pushed a commit to branch master
in repository bash-completion.

commit 1d25d72ca8633c19cb089dff447d08c531379c59
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Mon Feb 16 22:14:58 2015 +0200

    Load user completions from $BASH_COMPLETION_USER_DIR/completions
    
    Fall back to XDG_DATA_HOME/bash-completion/completions or
    ~/.local/share/bash-completion/completions if not set.
    
    Thanks to Raphaël Droz.
---
 bash_completion | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/bash_completion b/bash_completion
index e707ff5..d43075e 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1960,13 +1960,15 @@ complete -F _minimal ''
 _completion_loader()
 {
     # $1=_EmptycmD_ already for empty cmds in bash 4.3, set to it for earlier
-    local cmd="${1:-_EmptycmD_}" compdir=./completions compfile
+    local cmd="${1:-_EmptycmD_}" compdir=./completions compfile dir
     [[ $BASH_SOURCE == */* ]] && compdir="${BASH_SOURCE%/*}/completions"
 
-    for compfile in "${cmd##*/}" "${cmd##*/}".bash _"${cmd##*/}"; do
-        compfile="$compdir/$compfile"
-        # Avoid trying to source dirs; https://bugzilla.redhat.com/903540
-        [[ -f "$compfile" ]] && . "$compfile" &>/dev/null && return 124
+    for dir in ${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions $compdir; do
+        for compfile in "${cmd##*/}" "${cmd##*/}".bash _"${cmd##*/}"; do
+            compfile="$dir/$compfile"
+            # Avoid trying to source dirs; https://bugzilla.redhat.com/903540
+            [[ -f "$compfile" ]] && . "$compfile" &>/dev/null && return 124
+        done
     done
 
     # Need to define *something*, otherwise there will be no completion at all.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/bash-completion/bash-completion.git



More information about the Bash-completion-commits mailing list