Pjcolor is a small AWK script for coloring and formating "pijul change" command like output.
#!/usr/bin/awk -f

# Łukasz Adamkiewicz (levi)
# https://nest.pijul.com/levi/
#
# Pjcolor v1.0
# Pjcolor is a small AWK script for formating and coloring "pijul change" command like output.
# At the same time providing sane theming capabilities(as far as AWK allows)

BEGIN {

    EOL = 999; # hack for "until the end of line"

    # In case you want to create your own pjcolor theme
    # Include it like here:
    #
    # @include "<your-custom-pjcolor-theme>"
    #
    # Also comment out existing default theme.

    # Also export your AWKPATH Environment Variable. This will allow AWK
    # to pick up your theme without need to provide full path.
    # Have Fun.

    # -- Pijul Nest/GitHub theme (True Color) --
    # (

    #MARKER          = "";
    PLUS            = "+";
    MINUS           = "-";
    LINE            = "⎯";
    LINE_WIDTH      = 60;

    RGB_FG_CODE     = "\033[38;2;";
    RGB_BG_CODE     = "\033[48;2;";

    MINUS_FOREGROUND          = RGB_FG_CODE""   "114;28;36m";
    MINUS_BACKGROUND          = RGB_BG_CODE""   "248;215;218m";

    MINUS_MARKER_FOREGROUND   = RGB_BG_CODE""   "248;215;218m";
    MINUS_MARKER_BACKGROUND   = RGB_FG_CODE""   "114;28;36m";

    MINUS_SIGN_FOREGROUND     = RGB_FG_CODE""   "255;255;255m";
    MINUS_SIGN_BACKGROUND     = RGB_BG_CODE""   "114;28;36m";

    # --------------------------------------------------

    PLUS_FOREGROUND           = RGB_FG_CODE""   "21;87;36m";
    PLUS_BACKGROUND           = RGB_BG_CODE""   "212;237;218m";

    PLUS_MARKER_FOREGROUND    = RGB_BG_CODE""   "212;237;218m";
    PLUS_MARKER_BACKGROUND    = RGB_FG_CODE""   "21;87;36m";

    PLUS_SIGN_FOREGROUND      = RGB_FG_CODE""   "255;255;255m";
    PLUS_SIGN_BACKGROUND      = RGB_BG_CODE""   "21;87;36m";

    # )

    RESET="\033[0m";
}

{
    if ($1~/^[0-9]+.$/) {
        for(c=0; c<LINE_WIDTH; c++) {
            printf LINE;
        }
        print "\n";
    }

    switch ($1) {
        case "+":
            print \
            PLUS_SIGN_FOREGROUND    PLUS_SIGN_BACKGROUND     PLUS                   \
            PLUS_MARKER_FOREGROUND  PLUS_MARKER_BACKGROUND   MARKER                 \
            PLUS_BACKGROUND         PLUS_FOREGROUND          substr($0,2,EOL) RESET;
            break;

        case "-":
            print \
            MINUS_SIGN_FOREGROUND   MINUS_SIGN_BACKGROUND     MINUS                 \
            MINUS_MARKER_FOREGROUND MINUS_MARKER_BACKGROUND   MARKER                \
            MINUS_BACKGROUND        MINUS_FOREGROUND          substr($0,2,EOL) RESET;
            break;

        default:
            print $0;
    }
}

END {}