Loading components from global enabled directory
parent
5210707da8
commit
fd637a3dc6
|
|
@ -48,6 +48,9 @@ done
|
||||||
|
|
||||||
# TODO Automatically check for content that needs to be migrated
|
# TODO Automatically check for content that needs to be migrated
|
||||||
|
|
||||||
|
# Load the global "enabled" directory
|
||||||
|
_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
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,20 @@ function _load_bash_it_files() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _load_global_bash_it_files() {
|
||||||
|
# In the new structure
|
||||||
|
if [ -d "${BASH_IT}/enabled" ]
|
||||||
|
then
|
||||||
|
FILES="${BASH_IT}/enabled/*.bash"
|
||||||
|
for config_file in $FILES
|
||||||
|
do
|
||||||
|
if [ -e "${config_file}" ]; then
|
||||||
|
source $config_file
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Function for reloading aliases
|
# Function for reloading aliases
|
||||||
function reload_aliases() {
|
function reload_aliases() {
|
||||||
_load_bash_it_files "aliases"
|
_load_bash_it_files "aliases"
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,8 @@ function local_setup {
|
||||||
rm -rf "$BASH_IT"/completion/enabled
|
rm -rf "$BASH_IT"/completion/enabled
|
||||||
rm -rf "$BASH_IT"/plugins/enabled
|
rm -rf "$BASH_IT"/plugins/enabled
|
||||||
|
|
||||||
cp -r "$BASH_IT/test/fixtures/bash_it/aliases" "$BASH_IT"
|
# Copy the test fixture to the Bash-it folder
|
||||||
cp -r "$BASH_IT/test/fixtures/bash_it/plugins" "$BASH_IT"
|
rsync -a "$BASH_IT/test/fixtures/bash_it/" "$BASH_IT/"
|
||||||
|
|
||||||
# Don't pollute the user's actual $HOME directory
|
# Don't pollute the user's actual $HOME directory
|
||||||
# Use a test home directory instead
|
# Use a test home directory instead
|
||||||
|
|
@ -137,6 +137,100 @@ function local_teardown {
|
||||||
assert_line "0" "alias test_alias='c'"
|
assert_line "0" "alias test_alias='c'"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "bash-it: load global aliases in order" {
|
||||||
|
mkdir -p $BASH_IT/enabled
|
||||||
|
|
||||||
|
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||||
|
|
||||||
|
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/150---a.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/150---a.aliases.bash" ]
|
||||||
|
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/150---b.aliases.bash" ]
|
||||||
|
|
||||||
|
# The `test_alias` alias should not exist
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_failure
|
||||||
|
|
||||||
|
load "$BASH_IT/bash_it.sh"
|
||||||
|
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_success
|
||||||
|
assert_line "0" "alias test_alias='b'"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "bash-it: load global aliases in priority order" {
|
||||||
|
mkdir -p $BASH_IT/enabled
|
||||||
|
|
||||||
|
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||||
|
|
||||||
|
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/175---a.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/175---a.aliases.bash" ]
|
||||||
|
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/150---b.aliases.bash" ]
|
||||||
|
|
||||||
|
# The `test_alias` alias should not exist
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_failure
|
||||||
|
|
||||||
|
load "$BASH_IT/bash_it.sh"
|
||||||
|
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_success
|
||||||
|
assert_line "0" "alias test_alias='a'"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "bash-it: load global aliases and plugins in priority order" {
|
||||||
|
mkdir -p $BASH_IT/enabled
|
||||||
|
|
||||||
|
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||||
|
|
||||||
|
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/150---a.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/150---a.aliases.bash" ]
|
||||||
|
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/150---b.aliases.bash" ]
|
||||||
|
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/enabled/250---c.plugin.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/250---c.plugin.bash" ]
|
||||||
|
|
||||||
|
# The `test_alias` alias should not exist
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_failure
|
||||||
|
|
||||||
|
load "$BASH_IT/bash_it.sh"
|
||||||
|
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_success
|
||||||
|
assert_line "0" "alias test_alias='c'"
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "bash-it: load global aliases and plugins in priority order, with one alias higher than plugins" {
|
||||||
|
mkdir -p $BASH_IT/enabled
|
||||||
|
|
||||||
|
ln -s $BASH_IT/plugins/available/base.plugin.bash $BASH_IT/enabled/250---base.plugin.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/250---base.plugin.bash" ]
|
||||||
|
|
||||||
|
ln -s $BASH_IT/aliases/available/a.aliases.bash $BASH_IT/enabled/350---a.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/350---a.aliases.bash" ]
|
||||||
|
ln -s $BASH_IT/aliases/available/b.aliases.bash $BASH_IT/enabled/150---b.aliases.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/150---b.aliases.bash" ]
|
||||||
|
ln -s $BASH_IT/plugins/available/c.plugin.bash $BASH_IT/enabled/250---c.plugin.bash
|
||||||
|
assert [ -L "$BASH_IT/enabled/250---c.plugin.bash" ]
|
||||||
|
|
||||||
|
# The `test_alias` alias should not exist
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_failure
|
||||||
|
|
||||||
|
load "$BASH_IT/bash_it.sh"
|
||||||
|
|
||||||
|
run alias test_alias &> /dev/null
|
||||||
|
assert_success
|
||||||
|
# This will be a, loaded from the a aliases, since the global directory
|
||||||
|
# loads all component types at once
|
||||||
|
assert_line "0" "alias test_alias='a'"
|
||||||
|
}
|
||||||
|
|
||||||
@test "bash-it: load enabled aliases from new structure, priority-based" {
|
@test "bash-it: load enabled aliases from new structure, priority-based" {
|
||||||
mkdir -p $BASH_IT/enabled
|
mkdir -p $BASH_IT/enabled
|
||||||
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/enabled/150---atom.aliases.bash
|
ln -s $BASH_IT/aliases/available/atom.aliases.bash $BASH_IT/enabled/150---atom.aliases.bash
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue