diff --git a/clean_files.txt b/clean_files.txt index cc740c0c..8f9c173a 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -18,6 +18,7 @@ # docs/ hooks/ +scripts/ # root files # diff --git a/scripts/reloader.bash b/scripts/reloader.bash old mode 100755 new mode 100644 index 4bc24941..846bbf75 --- a/scripts/reloader.bash +++ b/scripts/reloader.bash @@ -1,53 +1,52 @@ -#!/bin/bash +# shellcheck shell=bash +# +# The core component loader. + +# shellcheck disable=SC2034 BASH_IT_LOG_PREFIX="core: reloader: " +_bash_it_reloader_type="" -function _set-prefix-based-on-path() -{ - filename=$(_bash-it-get-component-name-from-path "$1") - extension=$(_bash-it-get-component-type-from-path "$1") - # shellcheck disable=SC2034 - BASH_IT_LOG_PREFIX="$extension: $filename: " -} +if [[ "${1:-}" != "skip" ]] && [[ -d "${BASH_IT?}/enabled" ]]; then + case $1 in + alias | completion | plugin) + _bash_it_reloader_type=$1 + _log_debug "Loading enabled $1 components..." + ;; + '' | *) + _log_debug "Loading all enabled components..." + ;; + esac -if [[ "$1" != "skip" ]] && [[ -d "$BASH_IT/enabled" ]]; then - _bash_it_config_type="" - - case $1 in - alias|completion|plugin) - _bash_it_config_type=$1 - _log_debug "Loading enabled $1 components..." ;; - ''|*) - _log_debug "Loading all enabled components..." ;; - esac - - for _bash_it_config_file in $(sort <(compgen -G "$BASH_IT/enabled/*${_bash_it_config_type}.bash")); do - if [ -e "${_bash_it_config_file}" ]; then - _set-prefix-based-on-path "${_bash_it_config_file}" - _log_debug "Loading component..." - # shellcheck source=/dev/null - source $_bash_it_config_file - else - echo "Unable to read ${_bash_it_config_file}" > /dev/stderr - fi - done + for _bash_it_reloader_file in "$BASH_IT/enabled"/*"${_bash_it_reloader_type}.bash"; do + if [[ -e "${_bash_it_reloader_file}" ]]; then + _bash-it-log-prefix-by-path "${_bash_it_reloader_file}" + _log_debug "Loading component..." + # shellcheck source=/dev/null + source "$_bash_it_reloader_file" + _log_debug "Loaded." + else + _log_error "Unable to read ${_bash_it_reloader_file}" + fi + done fi -if [[ -n "${2}" ]] && [[ -d "$BASH_IT/${2}/enabled" ]]; then - case $2 in - aliases|completion|plugins) - _log_warning "Using legacy enabling for $2, please update your bash-it version and migrate" - for _bash_it_config_file in $(sort <(compgen -G "$BASH_IT/${2}/enabled/*.bash")); do - if [[ -e "$_bash_it_config_file" ]]; then - _set-prefix-based-on-path "${_bash_it_config_file}" - _log_debug "Loading component..." - # shellcheck source=/dev/null - source "$_bash_it_config_file" - else - echo "Unable to locate ${_bash_it_config_file}" > /dev/stderr - fi - done ;; - esac +if [[ -n "${2:-}" ]] && [[ -d "$BASH_IT/${2}/enabled" ]]; then + case $2 in + aliases | completion | plugins) + _log_warning "Using legacy enabling for $2, please update your bash-it version and migrate" + for _bash_it_reloader_file in "$BASH_IT/${2}/enabled"/*.bash; do + if [[ -e "$_bash_it_reloader_file" ]]; then + _bash-it-log-prefix-by-path "${_bash_it_reloader_file}" + _log_debug "Loading component..." + # shellcheck source=/dev/null + source "$_bash_it_reloader_file" + _log_debug "Loaded." + else + _log_error "Unable to locate ${_bash_it_reloader_file}" + fi + done + ;; + esac fi -unset _bash_it_config_file -unset _bash_it_config_type +unset "${!_bash_it_reloader_@}"