pretty-print: make cat_file() also highlight the trailing backslash for line continuation

This commit is contained in:
Yu Watanabe
2025-01-22 20:43:16 +00:00
committed by Luca Boccassi
parent e27fb39e07
commit 5e244e724f
+11 -1
View File
@@ -250,13 +250,23 @@ static int cat_file(const char *filename, bool newline, CatFlags flags) {
/* Check if the line ends with a backslash. */
bool escaped = false;
for (const char *e = line; *e != '\0'; e++) {
char *e;
for (e = line; *e != '\0'; e++) {
if (escaped)
escaped = false;
else if (*e == '\\')
escaped = true;
}
/* Highlight the trailing backslash. */
if (escaped) {
assert(e > line);
*(e-1) = '\0';
if (!strextend(&line, ansi_highlight_red(), "\\", ansi_normal()))
return log_oom();
}
/* Highlight the left side (directive) of a Foo=bar assignment */
if (FLAGS_SET(flags, CAT_FORMAT_HAS_SECTIONS) && !continued) {
const char *p = strchr(line, '=');