On Windows 7, it works for me in both CMD and Git Bash: $ git --version git version 2.11.0.windows.3 $ git diff HEAD^ --word-diff diff --git a/test.natvis b/test.natvis index 93396ad..1233b8c 100644 --- a/test.natvis +++ b/test.natvis @@ -18,6 +18,7 @@ test <!-- Non-blank line --> {+<Item Name="added var">added_var</Item>+} <Item Name="var2">var2</Item> On Wed, Feb 8, 2017 at 12:37 PM, René Scharfe <l.s.r@xxxxxx> wrote: > Am 08.02.2017 um 18:11 schrieb Jack Adrian Zappa: >> Thanks Rene, but you seem to have missed the point. NOTHING is >> working. No matter what I put there, it doesn't seem to get matched. > > I'm not so sure about that. With your example I get this diff without > setting diff.natvis.xfuncname: > > diff --git a/a.natvis b/a.natvis > index 7f9bdf5..bc3c090 100644 > --- a/a.natvis > +++ b/a.natvis > @@ -19,7 +19,7 @@ xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010"> > > > <!-- Non-blank line --> > - <Item Name="added var">added_var</Item> > + <Item Name="added var">added_vars</Item> > > > <Item Name="var2">var2</Item> > > Note the XML namespace in the hunk header. It's put there by the > default rule because "xmlns" starts at the beginning of the line. Your > diff has nothing there, which means the default rule is not used, i.e. > your user-defined rule is in effect. > > Come to think of it, this line break in the middle of the AutoVisualizer > tab might have been added by your email client unintentionally, so that > we use different test files, which then of course results in different > diffs. Is that the case? > > Anyway, if I run the following two commands: > > $ git config diff.natvis.xfuncname "^[\t ]*<Type[\t ]+Name=\"([^\"]+)\".*$" > $ echo '*.natvis diff=natvis' >.gitattributes > > ... then I get this, both on Linux (git version 2.11.1) and on Windows > (git version 2.11.1.windows.1): > > diff --git a/a.natvis b/a.natvis > index 7f9bdf5..bc3c090 100644 > --- a/a.natvis > +++ b/a.natvis > @@ -19,7 +19,7 @@ test > > > <!-- Non-blank line --> > - <Item Name="added var">added_var</Item> > + <Item Name="added var">added_vars</Item> > > > <Item Name="var2">var2</Item> > >> Just to be sure, I tested your regex and again it didn't work. > > At this point I'm out of ideas, sorry. :( The only way I was able to > break it was due to mistyping the extension as "netvis" several times > for some reason. > > René