gitdiff

Also use comma as a word separator in diff


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.


Solution

  • Use --word-diff-regex:

       --word-diff-regex=<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.