Also use comma as a word separator in diff

By | January 4, 2018

How can I add , as a word separator for git diff –word-diff?

For instance I would like the diff to recognize that

function(A,B,C) -> function(A, B, C)

only has added the spaces instead of replacing the whole line.


Use --word-diff-regex:

       Use <regex> to decide what a word is, instead of considering runs
       of non-whitespace to be a word. Also implies --word-diff unless it
       was already enabled.

       Every non-overlapping match of the <regex> is considered a word.
       Anything between these matches is considered whitespace and
       ignored(!) for the purposes of finding differences. You may want to
       append |[^[:space:]] to your regular expression to make sure that
       it matches all non-whitespace characters. A match that contains a
       newline is silently truncated(!) at the newline.

       The regex can also be set via a diff driver or configuration
       option, see gitattributes(1) or git-config(1). Giving it explicitly
       overrides any diff driver or configuration setting. Diff drivers
       override configuration settings.

I never used it but i guess that git diff --word-diff-regex="[^[:space:],]+" may work.


In addition to KurzedMetal’s answer: without the quotes it works even better since it doesn’t break my bashs autocompletion when hitting TAB.

git diff --word-diff-regex=[^[:space:],]+


You can also try -w/--ignore-all-space, although that may ignore more whitespace than you like.

Category: Git

Leave a Reply

Your email address will not be published. Required fields are marked *