[bugfix][wip] Fixed issue with Debian's bash-completion

pull/1276/head
Christophe Aguettaz 2018-11-23 22:25:14 +01:00
parent c84e3e5f85
commit 1ba023c97a
2 changed files with 30 additions and 17 deletions

View File

@ -43,9 +43,17 @@ _load_global_bash_it_files
# Load enabled aliases, completion, plugins # Load enabled aliases, completion, plugins
for file_type in "aliases" "plugins" "completion" for file_type in "aliases" "plugins" "completion"
do do
_load_bash_it_files $file_type _bash_it_list_bash_it_files_return=()
_list_bash_it_files $file_type
for config_file in "${_bash_it_list_bash_it_files_return[@]}" ; do
. "$config_file"
done
done done
unset _bash_it_list_bash_it_files_return
unset _bash_it_config_file
# Load theme, if a theme was set # Load theme, if a theme was set
if [[ ! -z "${BASH_IT_THEME}" ]]; then if [[ ! -z "${BASH_IT_THEME}" ]]; then
# Load colors and helpers first so they can be used in base theme # Load colors and helpers first so they can be used in base theme

View File

@ -14,16 +14,18 @@ function _command_exists ()
type "$1" &> /dev/null ; type "$1" &> /dev/null ;
} }
# Helper function loading various enable-able files # Helper function listing various enable-able files to be sourced
function _load_bash_it_files() { # The files need to be sourced in global scope to preserve scope of 'declare'
function _list_bash_it_files() {
subdirectory="$1" subdirectory="$1"
if [ -d "${BASH_IT}/${subdirectory}/enabled" ] if [ -d "${BASH_IT}/${subdirectory}/enabled" ]
then then
FILES="${BASH_IT}/${subdirectory}/enabled/*.bash" FILES="${BASH_IT}/${subdirectory}/enabled/*.bash"
for config_file in $FILES
for _bash_it_config_file in $FILES
do do
if [ -e "${config_file}" ]; then if [ -e "${_bash_it_config_file}" ]; then
source $config_file _bash_it_list_bash_it_files_return+=("$_bash_it_config_file")
fi fi
done done
fi fi
@ -43,20 +45,23 @@ function _load_global_bash_it_files() {
fi fi
} }
# Function for reloading aliases function _make_reload_alias() {
function reload_aliases() { printf %s '\
_load_bash_it_files "aliases" _bash_it_list_bash_it_files_return=() ;\
_list_bash_it_files '"$1"' ;\
for _bash_it_config_file in "${_bash_it_list_bash_it_files_return[@]}"; do \
. "$_bash_it_config_file" ;\
done'
} }
# Function for reloading auto-completion # Alias for reloading aliases
function reload_completion() { alias reload_aliases="$(_make_reload_alias aliases)"
_load_bash_it_files "completion"
}
# Function for reloading plugins # Alias for reloading auto-completion
function reload_plugins() { alias reload_completion="$(_make_reload_alias completion)"
_load_bash_it_files "plugins"
} # Alias for reloading plugins
alias reload_plugins="$(_make_reload_alias plugins)"
bash-it () bash-it ()
{ {