move auto colouring decision
...from the `Set_config_defaults` function, to being done directly in `build.sh` (the component which is also responsible for loading functions, loaded at the start of every script, including the front end). thus the colouring decision will now correctly... - apply to the frontend, such as to the 'root privileges needed' error, the 'no such script' error, and the command name colouring that I want to add (the most significant issue). - apply to error messages generated by the `Arguments` and `Read_conffiles` functions, which are called before `Set_config_defaults` by scripts. as things were, due to the comparison with "false", colour would _always_ be used in these places (unless _COLOR_ERR=false or _COLOR_OUT=false wrt. the new command highlight, were set in the environment when executing a script throught the frontend). this would not be a problem for normal terminal use of course, besides being inconsistent where color were turned off, but would be a bit of a problem if redirected to a file. a re-evaluation of _COLOR is performed in `Set_config_defaults` to adjust _COLOR_OUT and _COLOR_ERR where necessary, to correctly respond to _COLOR being set in saved config files (disabled by default but a user could always enable), after the point of config files being loaded. _COLOR can still be controlled from the environment just as before, overriding both _COLOR_OUT and _COLOR_ERR. note that this does not address the fact that --color|--no-color do not work in the frontend and thus will not impact the colouring of to-be-introduced command highlighting. this needs to be addressed separately. Gbp-Dch: Short
This commit is contained in:
parent
85e0681ee8
commit
39dae8cdc7
|
@ -200,20 +200,19 @@ Set_config_defaults ()
|
||||||
LB_TASKSEL="${LB_TASKSEL:-apt}"
|
LB_TASKSEL="${LB_TASKSEL:-apt}"
|
||||||
|
|
||||||
# Setting live build options
|
# Setting live build options
|
||||||
if [ -z "${_COLOR}" ]; then
|
# Colouring is re-evaluated here just incase a hard coded override was given in the saved config
|
||||||
_COLOR="auto"
|
case "${_COLOR}" in
|
||||||
_COLOR_OUT="true"
|
true)
|
||||||
_COLOR_ERR="true"
|
_COLOR_OUT="true"
|
||||||
if [ ! -t 1 ]; then
|
_COLOR_ERR="true"
|
||||||
|
;;
|
||||||
|
false)
|
||||||
_COLOR_OUT="false"
|
_COLOR_OUT="false"
|
||||||
fi
|
|
||||||
if [ ! -t 2 ]; then
|
|
||||||
_COLOR_ERR="false"
|
_COLOR_ERR="false"
|
||||||
fi
|
;;
|
||||||
else
|
auto)
|
||||||
_COLOR_OUT="${_COLOR}"
|
;;
|
||||||
_COLOR_ERR="${_COLOR}"
|
esac
|
||||||
fi
|
|
||||||
_BREAKPOINTS="${_BREAKPOINTS:-false}"
|
_BREAKPOINTS="${_BREAKPOINTS:-false}"
|
||||||
_DEBUG="${_DEBUG:-false}"
|
_DEBUG="${_DEBUG:-false}"
|
||||||
_FORCE="${_FORCE:-false}"
|
_FORCE="${_FORCE:-false}"
|
||||||
|
|
|
@ -23,6 +23,21 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
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_OUT="${_COLOR}"
|
||||||
|
_COLOR_ERR="${_COLOR}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -e local/live-build ]
|
if [ -e local/live-build ]
|
||||||
then
|
then
|
||||||
LIVE_BUILD="${LIVE_BUILD:-${PWD}/local/live-build}"
|
LIVE_BUILD="${LIVE_BUILD:-${PWD}/local/live-build}"
|
||||||
|
|
Loading…
Reference in New Issue