Han-Wen Nienhuys [off-list ref] writes:
quoted hunk
The highlighting is done on the client-side. Supported keywords are
"error", "warning", "hint" and "success".
The colorization is controlled with the config setting "color.remote".
Signed-off-by: Han-Wen Nienhuys <redacted>
---
sideband.c | 78 +++++++++++++++++++++++++----
t/t5409-colorize-remote-messages.sh | 34 +++++++++++++
2 files changed, 103 insertions(+), 9 deletions(-)
create mode 100644 t/t5409-colorize-remote-messages.sh
diff --git a/sideband.c b/sideband.c
index 325bf0e97..e939cd436 100644
--- a/sideband.c
+++ b/sideband.c
@@ -1,7 +1,63 @@
#include "cache.h"
+#include "color.h"
+#include "config.h"
#include "pkt-line.h"
#include "sideband.h"
+
+/*
+ * Optionally highlight some keywords in remote output if they appear at the
+ * start of the line.
+ */
+void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n)
I'll make this "static" to this file while queuing. Also hoist
"struct kwtable ... keywords[]" to an earlier place in the function
to avoid decl-after-stmt error.
sideband.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/sideband.c b/sideband.c
index e939cd4360..74b2fcaf64 100644
--- a/sideband.c
+++ b/sideband.c
@@ -9,10 +9,20 @@
* Optionally highlight some keywords in remote output if they appear at the
* start of the line.
*/
-void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n)
+static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n)
{
static int sideband_use_color = -1;
int i;
+ struct kwtable {
+ const char *keyword;
+ const char *color;
+ } keywords[] = {
+ {"hint", GIT_COLOR_YELLOW},
+ {"warning", GIT_COLOR_BOLD_YELLOW},
+ {"success", GIT_COLOR_BOLD_GREEN},
+ {"error", GIT_COLOR_BOLD_RED},
+ };
+
if (sideband_use_color < 0) {
const char *key = "color.remote";
char *value = NULL;@@ -25,16 +35,6 @@ void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n)
return;
}
- struct kwtable {
- const char *keyword;
- const char *color;
- } keywords[] = {
- {"hint", GIT_COLOR_YELLOW},
- {"warning", GIT_COLOR_BOLD_YELLOW},
- {"success", GIT_COLOR_BOLD_GREEN},
- {"error", GIT_COLOR_BOLD_RED},
- };
-
while (isspace(*src)) {
strbuf_addch(dest, *src);
src++;