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
>  }
>  
>  die() {
> -     warn "$@"
> +     echo -e "${COLOR_ERROR}error${COLOR_RESET}: $SCRIPT: $*" >&2
>       exit 1
>  }
>  
> -- 
> 2.53.0
> 
 
It turned out that modifying the centalized catagory printing functions
resulted in far less code churn than adding a pipes or calls to an
indentation function all over the script.  As an end-user, I would still
prefer the indentation, but I don't think this turned out too bad
either.

--
Joe


Reply via email to