[Bash-completion-commits] [bash-completion] 01/01: Load completions also from $XDG_DATA_DIRS (RedHat: #1264094)

Ville Skyttä scop-guest at moszumanska.debian.org
Fri Sep 18 08:03:38 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 c89dcbbd5510876f6304ef10806b00cc9fda19dc
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Fri Sep 18 11:02:29 2015 +0300

    Load completions also from $XDG_DATA_DIRS (RedHat: #1264094)
---
 bash_completion | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/bash_completion b/bash_completion
index 58acb0a..d768f27 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1958,10 +1958,20 @@ complete -F _minimal ''
 
 __load_completion()
 {
-    local cmd="$1" compdir=./completions compfile dir
-    [[ $BASH_SOURCE == */* ]] && compdir="${BASH_SOURCE%/*}/completions"
+    local -a dirs=( ${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions )
+    local OIFS=$IFS IFS=: dir cmd="$1" compfile
+    for dir in ${XDG_DATA_DIRS:-/usr/local/share:/usr/share}; do
+        dirs+=( $dir/bash-completion/completions )
+    done
+    IFS=$OIFS
+
+    if [[ $BASH_SOURCE == */* ]]; then
+        dirs+=( "${BASH_SOURCE%/*}/completions" )
+    else
+        dirs+=( ./completions )
+    fi
 
-    for dir in ${BASH_COMPLETION_USER_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion}/completions $compdir; do
+    for dir in "${dirs[@]}"; do
         for compfile in "${cmd##*/}" "${cmd##*/}".bash _"${cmd##*/}"; do
             compfile="$dir/$compfile"
             # Avoid trying to source dirs; https://bugzilla.redhat.com/903540

-- 
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