Replaced reload section with proper function.

Added completion for reload.
Fixed order in completion
Added unit tests for completion
The variable BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE has to be unset.
pull/1177/head
Piotr Rogoża 2018-04-17 23:48:33 +02:00
parent b1dbf2f7e0
commit 89d1661d23
8 changed files with 33 additions and 42 deletions

View File

@ -1,16 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Initialize Bash It # Initialize Bash It
# Reload Library, replaced by lib/additionals.bash
# case $OSTYPE in
# darwin*)
# alias reload='source ~/.bash_profile'
# ;;
# *)
# alias reload='source ~/.bashrc'
# ;;
# esac
# Only set $BASH_IT if it's not already set # Only set $BASH_IT if it's not already set
if [ -z "$BASH_IT" ]; if [ -z "$BASH_IT" ];
then then

View File

@ -65,7 +65,7 @@ _bash-it-comp()
prev="${COMP_WORDS[COMP_CWORD-1]}" prev="${COMP_WORDS[COMP_CWORD-1]}"
chose_opt="${COMP_WORDS[1]}" chose_opt="${COMP_WORDS[1]}"
file_type="${COMP_WORDS[2]}" file_type="${COMP_WORDS[2]}"
opts="disable enable help migrate search show update version reload" opts="disable enable help migrate reload search show update version"
case "${chose_opt}" in case "${chose_opt}" in
show) show)
local show_args="aliases completions plugins" local show_args="aliases completions plugins"
@ -82,7 +82,7 @@ _bash-it-comp()
return 0 return 0
fi fi
;; ;;
update | search | migrate | version | reload) migrate | reload | search | update | version)
return 0 return 0
;; ;;
enable | disable) enable | disable)

View File

@ -1,16 +0,0 @@
_bash-it-additional-reload() {
_about 'reloads ~/.bashrc'
case $OSTYPE in
darwin*)
source ~/.bash_profile
;;
*)
source ~/.bashrc
;;
esac
}
if ! command -v reload 1>/dev/null; then
alias reload=_bash-it-additional-reload
fi

View File

@ -10,7 +10,7 @@
composure_keywords () composure_keywords ()
{ {
echo "about author example group param version" echo "about author example group param reload version"
} }
letterpress () letterpress ()

View File

@ -61,7 +61,7 @@ function reload_plugins() {
bash-it () bash-it ()
{ {
about 'Bash-it help and maintenance' about 'Bash-it help and maintenance'
param '1: verb [one of: help | show | enable | disable | migrate | update | search | version ] ' param '1: verb [one of: help | show | enable | disable | migrate | update | search | version | reload ] '
param '2: component type [one of: alias(es) | completion(s) | plugin(s) ] or search term(s)' param '2: component type [one of: alias(es) | completion(s) | plugin(s) ] or search term(s)'
param '3: specific component [optional]' param '3: specific component [optional]'
example '$ bash-it show plugins' example '$ bash-it show plugins'
@ -72,6 +72,7 @@ bash-it ()
example '$ bash-it update' example '$ bash-it update'
example '$ bash-it search ruby [[-]rake]... [--enable | --disable]' example '$ bash-it search ruby [[-]rake]... [--enable | --disable]'
example '$ bash-it version' example '$ bash-it version'
example '$ bash-it reload'
typeset verb=${1:-} typeset verb=${1:-}
shift shift
typeset component=${1:-} typeset component=${1:-}
@ -95,8 +96,11 @@ bash-it ()
func=_bash-it-migrate;; func=_bash-it-migrate;;
version) version)
func=_bash-it-version;; func=_bash-it-version;;
reload)
func=_bash-it-reload;;
*) *)
func=_bash-it-additional-$verb $component "$@" reference bash-it
return;;
esac esac
# pluralize component if necessary # pluralize component if necessary
@ -106,10 +110,6 @@ bash-it ()
else else
if _is_function ${func}es; then if _is_function ${func}es; then
func=${func}es func=${func}es
elif [[ $func =~ ^_bash-it-additional- ]]; then
echo "oops! $verb is not valid additional command"
reference bash-it
return
else else
echo "oops! $component is not a valid option!" echo "oops! $component is not a valid option!"
reference bash-it reference bash-it
@ -256,6 +256,22 @@ _bash-it-version() {
cd - &> /dev/null || return cd - &> /dev/null || return
} }
_bash-it-reload() {
_about 'reloads a profile file'
_group 'lib'
cd "${BASH_IT}" || return
case $OSTYPE in
darwin*)
source ~/.bash_profile
;;
*)
source ~/.bashrc
;;
esac
}
_bash-it-describe () _bash-it-describe ()
{ {
_about 'summarizes available bash_it components' _about 'summarizes available bash_it components'

View File

@ -99,32 +99,32 @@ function __check_completion () {
@test "completion bash-it: show options" { @test "completion bash-it: show options" {
run __check_completion 'bash-it ' run __check_completion 'bash-it '
assert_line -n 0 "disable enable help migrate search show update version" assert_line -n 0 "disable enable help migrate reload search show update version"
} }
@test "completion bash-it: bash-ti - show options" { @test "completion bash-it: bash-ti - show options" {
run __check_completion 'bash-ti ' run __check_completion 'bash-ti '
assert_line -n 0 "disable enable help migrate search show update version" assert_line -n 0 "disable enable help migrate reload search show update version"
} }
@test "completion bash-it: shit - show options" { @test "completion bash-it: shit - show options" {
run __check_completion 'shit ' run __check_completion 'shit '
assert_line -n 0 "disable enable help migrate search show update version" assert_line -n 0 "disable enable help migrate reload search show update version"
} }
@test "completion bash-it: bashit - show options" { @test "completion bash-it: bashit - show options" {
run __check_completion 'bashit ' run __check_completion 'bashit '
assert_line -n 0 "disable enable help migrate search show update version" assert_line -n 0 "disable enable help migrate reload search show update version"
} }
@test "completion bash-it: batshit - show options" { @test "completion bash-it: batshit - show options" {
run __check_completion 'batshit ' run __check_completion 'batshit '
assert_line -n 0 "disable enable help migrate search show update version" assert_line -n 0 "disable enable help migrate reload search show update version"
} }
@test "completion bash-it: bash_it - show options" { @test "completion bash-it: bash_it - show options" {
run __check_completion 'bash_it ' run __check_completion 'bash_it '
assert_line -n 0 "disable enable help migrate search show update version" assert_line -n 0 "disable enable help migrate reload search show update version"
} }
@test "completion bash-it: show - show options" { @test "completion bash-it: show - show options" {

View File

@ -5,5 +5,5 @@ load ../../lib/composure
@test "lib composure: composure_keywords()" { @test "lib composure: composure_keywords()" {
run composure_keywords run composure_keywords
assert_output "about author example group param version" assert_output "about author example group param reload version"
} }

View File

@ -4,6 +4,7 @@ unset NGINX_PATH
unset IRC_CLIENT unset IRC_CLIENT
unset TODO unset TODO
unset SCM_CHECK unset SCM_CHECK
unset BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE
BASH_IT_TEST_DIR="${BATS_TMPDIR}/.bash_it" BASH_IT_TEST_DIR="${BATS_TMPDIR}/.bash_it"