From 89d1661d2393cee0a2b9af33b14aae99b2098fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Rogo=C5=BCa?= Date: Tue, 17 Apr 2018 23:48:33 +0200 Subject: [PATCH] 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. --- bash_it.sh | 10 ------- completion/available/bash-it.completion.bash | 4 +-- lib/additionals.bash | 16 ----------- lib/composure.bash | 2 +- lib/helpers.bash | 28 +++++++++++++++----- test/completion/bash-it.completion.bats | 12 ++++----- test/lib/composure.bats | 2 +- test/test_helper.bash | 1 + 8 files changed, 33 insertions(+), 42 deletions(-) delete mode 100644 lib/additionals.bash diff --git a/bash_it.sh b/bash_it.sh index 6b4be1b526..d85579a48c 100755 --- a/bash_it.sh +++ b/bash_it.sh @@ -1,16 +1,6 @@ #!/usr/bin/env bash # 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 if [ -z "$BASH_IT" ]; then diff --git a/completion/available/bash-it.completion.bash b/completion/available/bash-it.completion.bash index 914c81b718..71ec8418eb 100644 --- a/completion/available/bash-it.completion.bash +++ b/completion/available/bash-it.completion.bash @@ -65,7 +65,7 @@ _bash-it-comp() prev="${COMP_WORDS[COMP_CWORD-1]}" chose_opt="${COMP_WORDS[1]}" 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 show) local show_args="aliases completions plugins" @@ -82,7 +82,7 @@ _bash-it-comp() return 0 fi ;; - update | search | migrate | version | reload) + migrate | reload | search | update | version) return 0 ;; enable | disable) diff --git a/lib/additionals.bash b/lib/additionals.bash deleted file mode 100644 index f44c017a53..0000000000 --- a/lib/additionals.bash +++ /dev/null @@ -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 diff --git a/lib/composure.bash b/lib/composure.bash index 5ef7104c34..c05f8ed0cc 100644 --- a/lib/composure.bash +++ b/lib/composure.bash @@ -10,7 +10,7 @@ composure_keywords () { - echo "about author example group param version" + echo "about author example group param reload version" } letterpress () diff --git a/lib/helpers.bash b/lib/helpers.bash index 658ffd0ee9..e80c8459d7 100644 --- a/lib/helpers.bash +++ b/lib/helpers.bash @@ -61,7 +61,7 @@ function reload_plugins() { bash-it () { 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 '3: specific component [optional]' example '$ bash-it show plugins' @@ -72,6 +72,7 @@ bash-it () example '$ bash-it update' example '$ bash-it search ruby [[-]rake]... [--enable | --disable]' example '$ bash-it version' + example '$ bash-it reload' typeset verb=${1:-} shift typeset component=${1:-} @@ -95,8 +96,11 @@ bash-it () func=_bash-it-migrate;; version) func=_bash-it-version;; + reload) + func=_bash-it-reload;; *) - func=_bash-it-additional-$verb $component "$@" + reference bash-it + return;; esac # pluralize component if necessary @@ -106,10 +110,6 @@ bash-it () else if _is_function ${func}es; then func=${func}es - elif [[ $func =~ ^_bash-it-additional- ]]; then - echo "oops! $verb is not valid additional command" - reference bash-it - return else echo "oops! $component is not a valid option!" reference bash-it @@ -256,6 +256,22 @@ _bash-it-version() { 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 () { _about 'summarizes available bash_it components' diff --git a/test/completion/bash-it.completion.bats b/test/completion/bash-it.completion.bats index 3cdc84ba67..f35b180b3e 100644 --- a/test/completion/bash-it.completion.bats +++ b/test/completion/bash-it.completion.bats @@ -99,32 +99,32 @@ function __check_completion () { @test "completion bash-it: show options" { 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" { 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" { 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" { 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" { 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" { 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" { diff --git a/test/lib/composure.bats b/test/lib/composure.bats index af4bc8cfc7..7ba888533a 100755 --- a/test/lib/composure.bats +++ b/test/lib/composure.bats @@ -5,5 +5,5 @@ load ../../lib/composure @test "lib composure: composure_keywords()" { run composure_keywords - assert_output "about author example group param version" + assert_output "about author example group param reload version" } diff --git a/test/test_helper.bash b/test/test_helper.bash index e2bb9442ef..9784cdf86b 100644 --- a/test/test_helper.bash +++ b/test/test_helper.bash @@ -4,6 +4,7 @@ unset NGINX_PATH unset IRC_CLIENT unset TODO unset SCM_CHECK +unset BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE BASH_IT_TEST_DIR="${BATS_TMPDIR}/.bash_it"