@@ -28,10 +28,12 @@ static void (*log_locus_callback) (const char **, uint64 *);
2828
2929static const char * sgr_error = NULL ;
3030static const char * sgr_warning = NULL ;
31+ static const char * sgr_note = NULL ;
3132static const char * sgr_locus = NULL ;
3233
3334#define SGR_ERROR_DEFAULT "01;31"
3435#define SGR_WARNING_DEFAULT "01;35"
36+ #define SGR_NOTE_DEFAULT "01;36"
3537#define SGR_LOCUS_DEFAULT "01"
3638
3739#define ANSI_ESCAPE_FMT "\x1b[%sm"
@@ -134,6 +136,8 @@ pg_logging_init(const char *argv0)
134136 sgr_error = strdup (value );
135137 if (strcmp (name , "warning" ) == 0 )
136138 sgr_warning = strdup (value );
139+ if (strcmp (name , "note" ) == 0 )
140+ sgr_note = strdup (value );
137141 if (strcmp (name , "locus" ) == 0 )
138142 sgr_locus = strdup (value );
139143 }
@@ -146,6 +150,7 @@ pg_logging_init(const char *argv0)
146150 {
147151 sgr_error = SGR_ERROR_DEFAULT ;
148152 sgr_warning = SGR_WARNING_DEFAULT ;
153+ sgr_note = SGR_NOTE_DEFAULT ;
149154 sgr_locus = SGR_LOCUS_DEFAULT ;
150155 }
151156 }
@@ -281,10 +286,18 @@ pg_log_generic_v(enum pg_log_level level, enum pg_log_part part,
281286 }
282287 break ;
283288 case PG_LOG_DETAIL :
289+ if (sgr_note )
290+ fprintf (stderr , ANSI_ESCAPE_FMT , sgr_note );
284291 fprintf (stderr , _ ("detail: " ));
292+ if (sgr_note )
293+ fprintf (stderr , ANSI_ESCAPE_RESET );
285294 break ;
286295 case PG_LOG_HINT :
296+ if (sgr_note )
297+ fprintf (stderr , ANSI_ESCAPE_FMT , sgr_note );
287298 fprintf (stderr , _ ("hint: " ));
299+ if (sgr_note )
300+ fprintf (stderr , ANSI_ESCAPE_RESET );
288301 break ;
289302 }
290303 }
0 commit comments