This teaches coloring code in "diff" to detect indent of 8 or more places using SP, which can and should (in some projects including the kernel and git itself) use HT instead. --- * This is primarily meant as a "reminder" patch, and not for inclusion. We earlier saw a patch to "git-apply" to rewrite them to HT but rejected it, because some projects use "no HT, all SP" policy (e.g. Python). We probably should resurrect the earlier "git-apply" patch, and teach it and this patch to selectively enable/disable detection of different kinds of whitespace breakages. diff.c | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/diff.c b/diff.c index 0ee9ea1..647377b 100644 --- a/diff.c +++ b/diff.c @@ -531,8 +531,10 @@ static void emit_line_with_ws(int nparents, int i; int tail = len; int need_highlight_leading_space = 0; - /* The line is a newly added line. Does it have funny leading - * whitespaces? In indent, SP should never precede a TAB. + /* + * The line is a newly added line. Does it have funny leading + * whitespaces? In indent, SP should never precede a TAB, and + * there shouldn't be more than 8 consecutive spaces. */ for (i = col0; i < len; i++) { if (line[i] == '\t') { @@ -545,6 +547,11 @@ static void emit_line_with_ws(int nparents, else break; } + if (0 <= last_space_in_indent && last_tab_in_indent < 0 && + 8 <= (i - col0)) { + last_tab_in_indent = i; + need_highlight_leading_space = 1; + } fputs(set, stdout); fwrite(line, col0, 1, stdout); fputs(reset, stdout); - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html