diff --git a/functions/arguments.sh b/functions/arguments.sh index 877a24dd8..5d406f4b5 100755 --- a/functions/arguments.sh +++ b/functions/arguments.sh @@ -34,11 +34,15 @@ Arguments () --color) _COLOR="true" + _COLOR_OUT="true" + _COLOR_ERR="true" shift ;; --no-color) _COLOR="false" + _COLOR_OUT="false" + _COLOR_ERR="false" shift ;; diff --git a/functions/defaults.sh b/functions/defaults.sh index 108a9d96e..786a9dc4c 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -296,10 +296,19 @@ Set_config_defaults () esac # Setting live build options - if [ -t 1 ] && [ -t 2 ]; then - _COLOR="${_COLOR:-true}" + if [ -z "${_COLOR}" ]; then + _COLOR="auto" + _COLOR_OUT="true" + _COLOR_ERR="true" + if [ ! -t 1 ]; then + _COLOR_OUT="false" + fi + if [ ! -t 2 ]; then + _COLOR_ERR="false" + fi else - _COLOR="${_COLOR:-false}" + _COLOR_OUT="${_COLOR}" + _COLOR_ERR="${_COLOR}" fi _BREAKPOINTS="${_BREAKPOINTS:-false}" _DEBUG="${_DEBUG:-false}" diff --git a/functions/echo.sh b/functions/echo.sh index af3c4ca56..e019d8ed7 100755 --- a/functions/echo.sh +++ b/functions/echo.sh @@ -34,7 +34,7 @@ Echo_error () shift local PREFIX="${RED}E${NO_COLOR}" - if [ "${_COLOR}" = "false" ]; then + if [ "${_COLOR_ERR}" = "false" ]; then PREFIX="E" fi @@ -49,7 +49,7 @@ Echo_message () shift local PREFIX="${PURPLE}P${NO_COLOR}" - if [ "${_COLOR}" = "false" ]; then + if [ "${_COLOR_OUT}" = "false" ]; then PREFIX="P" fi @@ -73,7 +73,7 @@ Echo_warning () shift local PREFIX="${YELLOW}W${NO_COLOR}" - if [ "${_COLOR}" = "false" ]; then + if [ "${_COLOR_ERR}" = "false" ]; then PREFIX="W" fi