diff --git a/bash_it.sh b/bash_it.sh index 527c9f53..03fd0bf5 100755 --- a/bash_it.sh +++ b/bash_it.sh @@ -66,10 +66,6 @@ done # Load theme, if a theme was set if [[ -n "${BASH_IT_THEME}" ]]; then _log_debug "Loading \"${BASH_IT_THEME}\" theme..." - # Load colors and helpers first so they can be used in base theme - BASH_IT_LOG_PREFIX="themes: colors: " - # shellcheck source=./themes/colors.theme.bash - source "${BASH_IT}/themes/colors.theme.bash" BASH_IT_LOG_PREFIX="themes: githelpers: " # shellcheck source=./themes/githelpers.theme.bash source "${BASH_IT}/themes/githelpers.theme.bash" diff --git a/clean_files.txt b/clean_files.txt index e1933315..43cc5149 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -80,6 +80,7 @@ completion/available/vuejs.completion.bash completion/available/wpscan.completion.bash # libraries +lib/colors.bash lib/helpers.bash lib/log.bash lib/preexec.bash diff --git a/lib/colors.bash b/lib/colors.bash new file mode 100644 index 00000000..e96bba92 --- /dev/null +++ b/lib/colors.bash @@ -0,0 +1,91 @@ +# shellcheck shell=bash +# shellcheck disable=SC2034 +# +# A set of pre-defined color escape codes for use in prompts and with `echo`. + +black="\[\e[0;30m\]" +red="\[\e[0;31m\]" +green="\[\e[0;32m\]" +yellow="\[\e[0;33m\]" +blue="\[\e[0;34m\]" +purple="\[\e[0;35m\]" +cyan="\[\e[0;36m\]" +white="\[\e[0;37m\]" +orange="\[\e[0;91m\]" + +bold_black="\[\e[30;1m\]" +bold_red="\[\e[31;1m\]" +bold_green="\[\e[32;1m\]" +bold_yellow="\[\e[33;1m\]" +bold_blue="\[\e[34;1m\]" +bold_purple="\[\e[35;1m\]" +bold_cyan="\[\e[36;1m\]" +bold_white="\[\e[37;1m\]" +bold_orange="\[\e[91;1m\]" + +underline_black="\[\e[30;4m\]" +underline_red="\[\e[31;4m\]" +underline_green="\[\e[32;4m\]" +underline_yellow="\[\e[33;4m\]" +underline_blue="\[\e[34;4m\]" +underline_purple="\[\e[35;4m\]" +underline_cyan="\[\e[36;4m\]" +underline_white="\[\e[37;4m\]" +underline_orange="\[\e[91;4m\]" + +background_black="\[\e[40m\]" +background_red="\[\e[41m\]" +background_green="\[\e[42m\]" +background_yellow="\[\e[43m\]" +background_blue="\[\e[44m\]" +background_purple="\[\e[45m\]" +background_cyan="\[\e[46m\]" +background_white="\[\e[47;1m\]" +background_orange="\[\e[101m\]" + +normal="\[\e[0m\]" +reset_color="\[\e[39m\]" + +# These colors are meant to be used with `echo -e` +echo_black="\033[0;30m" +echo_red="\033[0;31m" +echo_green="\033[0;32m" +echo_yellow="\033[0;33m" +echo_blue="\033[0;34m" +echo_purple="\033[0;35m" +echo_cyan="\033[0;36m" +echo_white="\033[0;37;1m" +echo_orange="\033[0;91m" + +echo_bold_black="\033[30;1m" +echo_bold_red="\033[31;1m" +echo_bold_green="\033[32;1m" +echo_bold_yellow="\033[33;1m" +echo_bold_blue="\033[34;1m" +echo_bold_purple="\033[35;1m" +echo_bold_cyan="\033[36;1m" +echo_bold_white="\033[37;1m" +echo_bold_orange="\033[91;1m" + +echo_underline_black="\033[30;4m" +echo_underline_red="\033[31;4m" +echo_underline_green="\033[32;4m" +echo_underline_yellow="\033[33;4m" +echo_underline_blue="\033[34;4m" +echo_underline_purple="\033[35;4m" +echo_underline_cyan="\033[36;4m" +echo_underline_white="\033[37;4m" +echo_underline_orange="\033[91;4m" + +echo_background_black="\033[40m" +echo_background_red="\033[41m" +echo_background_green="\033[42m" +echo_background_yellow="\033[43m" +echo_background_blue="\033[44m" +echo_background_purple="\033[45m" +echo_background_cyan="\033[46m" +echo_background_white="\033[47;1m" +echo_background_orange="\033[101m" + +echo_normal="\033[0m" +echo_reset_color="\033[39m" diff --git a/test/lib/helpers.bats b/test/lib/helpers.bats old mode 100644 new mode 100755 index 2386b4b1..bd339d04 --- a/test/lib/helpers.bats +++ b/test/lib/helpers.bats @@ -3,7 +3,7 @@ load ../test_helper load ../test_helper_libs load ../../plugins/available/base.plugin -load ../../themes/colors.theme +load ../../lib/colors function local_setup { setup_test_fixture diff --git a/test/lib/log.bats b/test/lib/log.bats index 00efbc2d..bd118999 100644 --- a/test/lib/log.bats +++ b/test/lib/log.bats @@ -1,7 +1,7 @@ #!/usr/bin/env bats load ../test_helper -load ../../themes/colors.theme +load ../../lib/colors load ../../lib/log load ../../lib/helpers diff --git a/test/plugins/base.plugin.bats b/test/plugins/base.plugin.bats index f866199d..3d60986b 100755 --- a/test/plugins/base.plugin.bats +++ b/test/plugins/base.plugin.bats @@ -19,7 +19,7 @@ load ../../plugins/available/base.plugin run myip assert_success declare -r mask_ip=$(echo $output | tr -s '[0-9]' '?') - [[ $mask_ip == 'Your public IP is: ?.?.?.?' ]] + [[ $mask_ip == 'Your public IP is:'*'?.?.?.?'* ]] } @test 'plugins base: pickfrom()' { diff --git a/test/test_helper_libs.bash b/test/test_helper_libs.bash index cc585fad..fac2a9eb 100644 --- a/test/test_helper_libs.bash +++ b/test/test_helper_libs.bash @@ -5,3 +5,4 @@ load "${BASH_IT}/lib/utilities.bash" load "${BASH_IT}/lib/helpers.bash" load "${BASH_IT}/lib/search.bash" load "${BASH_IT}/lib/preexec.bash" +load "${BASH_IT}/lib/colors.bash" diff --git a/test/themes/base.theme.bats b/test/themes/base.theme.bats index 50098c1d..63f25133 100644 --- a/test/themes/base.theme.bats +++ b/test/themes/base.theme.bats @@ -2,7 +2,6 @@ load ../test_helper load ../test_helper_libs -load ../../themes/colors.theme load ../../themes/base.theme @test 'themes base: battery_percentage should not exist' {