WordWrap ignoring

General questions about using ExamDiff Pro, ideas for new features, bug reports, and usage tips.
Post Reply
OLLI_S
New Member
Posts: 9
Joined: Mon Mar 12, 2007 11:10 pm

WordWrap ignoring

Post by OLLI_S »

Hello,

I have ExamDiff Pro Version 3.2c.

My problem is, that we have two projects, that started with a common source code and then they both began to split apart.
So now every project makes his OWN changes in HIS sources.
Both projects are Delphi projects with some DLLs written in C++ and C#.
The first Project uses for the delphi part a source formatting tool, so the sources are different (in the layout).

Here are some differences:

Longer Lines are in the first project wrapped but not in the second project:

Code: Select all

// First Project
function Form1.CheckData(var errorMessage : string) : boolean;

Code: Select all

// Second Project
function Form1.CheckData(var 
   errorMessage : string) : boolean;
Here it would be cool if ExamDiff would recognize that those passages are identical.


Variable declarations are also different.
The first projects has blank lines before and after the variable declaration. The other project does not have this.
And the word "var" is in a separate line.
In the second project the word "var" is direcly followed by the first variable and they also do NOT have blank lines.

Code: Select all

 // First Project
function Form1.CheckData(var errorMessage: string): boolean;

var
  jetzt: string;  
  jetzt5: longint;

begin

Code: Select all

 // Second Project
function Form1.CheckData(var errorMessage : string) : boolean;
var jetzt : string;
    jetzt5 : longint;
begin
ExamDiff recognizes the empty lines and ignores them.
The problem is the new line after the word "Var".
Here it also would be cool to have a feature that regognizes this and that ignores these lines.


Both suggestions request the same feature.
ExamDiff should check the next line and see if the content of the next + the content of the current line is the same than displayed in one line in the other file.
Of cause this should be an option that could be used or not (the user can decide if this should be used or not).
And maybe you can limit this to a list of file extensions and maybe on a list of keywords.

This would be fantastic!

Greetings


OLLI
User avatar
psguru
Site Admin
Posts: 2231
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

I agree, this would be a great feature. We've been thinking about implementing it in a future version but there are no concrete plans at the moment.
psguru
PrestoSoft
OLLI_S
New Member
Posts: 9
Joined: Mon Mar 12, 2007 11:10 pm

Post by OLLI_S »

Hello,

please implement it as soon as possible!
With this feature implemented I would see the REAL differences in my two projects.
Now I see 80 to 100 differences in one file.
It would help me a lot.

We are here in Germany a REALLY BIG company (50.000 employees) and with this feature your application would be better than others (this would the reason why we would use your software not others).

Greetings


OLLI
AlexL
Expert Member
Posts: 129
Joined: Wed Aug 11, 2004 6:25 am
Location: Israel
Contact:

Post by AlexL »

OLLI_S wrote:Hello,

please implement it as soon as possible!
With this feature implemented I would see the REAL differences in my two projects.
Now I see 80 to 100 differences in one file.
It would help me a lot.

We are here in Germany a REALLY BIG company (50.000 employees) and with this feature your application would be better than others (this would the reason why we would use your software not others).

Greetings


OLLI
Hello.

While this is not yet implemented, I can suggest you to use mechanism of plugins. I use it in cases where I need to simulate something that is not implemented yet, or hard to implement at all.

E.g., in your case you could write plugin in Perl. It can do something like replacement of

Code: Select all

(^|\()(\s*)var\s+(\S+)$
by

Code: Select all

$1$2var\n$3
and then you activate option to ignore whitespaces.

Maybe even such replacement as

Code: Select all

\bvar\s+(\S+)$
by

Code: Select all

var\n$1
will work.

Thank you.
Post Reply