feature request: partial-context diff
Sam Jaques
sam.jaques at gmail.com
Wed Apr 22 09:45:22 EDT 2015
Hi Jamie
It does make sense and it works with a small amount of code :)
I see that line 1 is always shown with some characters of previous line
from the first unchanged code block, even if I start collapsing from line:0.
Probably I stumble upon a fix later...
Now the fancy drawings in the middle are not aligned to the changes.
It seems I have to adjust the changes' y-coordinates (lhs-y-start,
lhs-y-end, etc.) which is a harder challenge without having the knowledge
of the 'equal' lines.
Also a line, or better the disappeared line numbers could be shown (like in
a diff view: -6,7 +6,6
As an extra, a nice feature would be to uncollapse the whole code simply by
clicking on a button between the collapsed code.
That would acquire some more in depth of the code but it's certainly worth
a try.
In the end, I'll add the collapsed mode as a new option for Mergely and
update the readme.
Kind regards
Sam
On Tuesday, April 21, 2015 at 5:04:23 PM UTC+2, Jamie Peabody wrote:
>
> Hi Sam,
>
> I haven't done any work on this.
>
> It is not function that returns "equals". The unchanged lines would be
> the inverse of the changed lines. My gut-feeling approach would be to
> extend this loop at 1195
> <https://github.com/wickedest/Mergely/blob/master/lib/mergely.js#L1195>
> to also add "equal" changes (the opposite of changed). E.g. if I had a doc
> with 100 lines, and deleted one line at 50, then my list of changes would
> be the lhr and rhs changes, plus marking text inverse the change:
>
> marktext.push([led, {line:0, ch:0}, {line:49, ch:to_ln.text.length}, {
> *collapsed*: true}]);
> marktext.push([led, {line:51, ch:0}, {line:99, ch:to_ln.text.length}, {
> *collapsed*: true}]);
>
> Make sense? It's worth a go, even just to see if it's the right strategy.
>
> Jamie
>
> On 21 April 2015 at 12:58, <sam.j... at gmail.com <javascript:>> wrote:
>
>> Hello again Jamie
>>
>> Thank you for the info you provided so far.
>> About the non-changes; I see they are not yet available in the code, do
>> you know in which function to get them the best? I assume this function
>> should return something like: [changes, equals].
>>
>> Thanks,
>> Sam
>> On Thursday, February 12, 2015 at 10:21:46 PM UTC+1, Jamie Peabody wrote:
>> > Yes, markText is probably the right way to do it.
>> >
>> >
>> > Around 1195, it iterates through the list of changes and builds an
>> array of marktext. That marktext is used on line 1251 and 1259 to apply
>> markup.
>> >
>> >
>> > I think the right way to do it would be to something similar for
>> non-changes. E.g., if line 6-10 changed, then non-changes would be 1-5 and
>> 11+.
>> >
>> >
>> > Anyhow, it's a good start.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Mergely" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to mergely+u... at googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sfconservancy.org/pipermail/kallithea-general/attachments/20150422/bde92774/attachment.html>
More information about the kallithea-general
mailing list