On Tue, Feb 17, 2026 at 11:06:42AM -0500, Joe Lawrence wrote: > Improve the readability of klp-build output by implementing a basic > color scheme. When the standard output and error are connected to a > terminal, highlight status messages in bold, warnings in yellow, and > errors in red. > > Signed-off-by: Joe Lawrence <[email protected]> > --- > scripts/livepatch/klp-build | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/scripts/livepatch/klp-build b/scripts/livepatch/klp-build > index 80703ec4d775..fd104ace29e6 100755 > --- a/scripts/livepatch/klp-build > +++ b/scripts/livepatch/klp-build > @@ -52,6 +52,15 @@ PATCH_TMP_DIR="$TMP_DIR/tmp" > > KLP_DIFF_LOG="$DIFF_DIR/diff.log" > > +# Terminal output colors > +read -r COLOR_RESET COLOR_BOLD COLOR_ERROR COLOR_WARN <<< "" > +if [[ -t 1 && -t 2 ]]; then > + COLOR_RESET="\033[0m" > + COLOR_BOLD="\033[1m" > + COLOR_ERROR="\033[0;31m" > + COLOR_WARN="\033[0;33m" > +fi > + > grep0() { > # shellcheck disable=SC2317 > command grep "$@" || true > @@ -65,15 +74,15 @@ grep() { > } > > status() { > - echo "$*" > + echo -e "${COLOR_BOLD}$*${COLOR_RESET}" > } > > warn() { > - echo "error: $SCRIPT: $*" >&2 > + echo -e "${COLOR_WARN}warn${COLOR_RESET}: $SCRIPT: $*" >&2
Shouldn't this reset the colors *after* printing out the whole message? Also, while it does make sense for warn() to print "warn:" rather than "error:", note its called by trap_err(), which should print the latter. So we may need a new function -- error() or so. Or even better, name them print_error() and print_warning() to clarify that they don't exit directly, as opposed to die(). -- Josh
