threads / discuss / 50745

[GSoC] Microproject: Add more builtin patterns for userdiff

Subject: [GSoC] Microproject: Add more builtin patterns for userdiff

## tl;dr

2 messages between Mar 15, 2019 and Mar 15, 2019.

replies: 1people: 2as markdown or json

Kapil Jain· Mar 15, 2019, 09:09 UTC · lore
Hi,

for the microproject: creating diff function support for different languages. i wrote one for shell script, have tested it outside of git and it works fine.

query regarding accommodating the pattern in:
1) userdiff.c, it uses - #define PATTERNS(name, pattern, word_regex),
for defining patterns to locate functions.
what is the use of pattern and word_regex parameters ? i am guessing
that pattern parameter is the actual pattern to spot functions in a
file,
and word_regex is used to get function name. is that correct ?
please let me know.
Ævar Arnfjörð Bjarmason· Mar 15, 2019, 12:56 UTC · re: Kapil Jain · lore

Re: [GSoC] Microproject: Add more builtin patterns for userdiff

On Fri, Mar 15 2019, Kapil Jain wrote:
Show 11 quoted lines
> Hi,
>
> for the microproject: creating diff function support for different languages.
> i wrote one for shell script, have tested it outside of git and it works fine.
>
> query regarding accommodating the pattern in:
> 1) userdiff.c, it uses - #define PATTERNS(name, pattern, word_regex),
> for defining patterns to locate functions.
> what is the use of pattern and word_regex parameters ? i am guessing
> that pattern parameter is the actual pattern to spot functions in a
> file,

Yes, except "functions". More like "logical start of stuff". E.g. "package" statements for Perl etc.

So whatever makes the most sense to put in the "@" context line for diff to give the user an idea of what "function" this is changing, in the loosest possible sense of "function".

> and word_regex is used to get function name. is that correct ?
> please let me know.

No, it's whatever counts as a "token" in the language for the purpose of "diff --word-diff". So it needs to match e.g. operators as one unit.

← back to recent threads