Git Product home page Git Product logo

Comments (12)

jzaefferer avatar jzaefferer commented on August 20, 2024

Is that reasonable at all?

from pretty-diff.

scottgonzalez avatar scottgonzalez commented on August 20, 2024

Yeah, it shouldn't be too hard to implement. Just need some time to work on it.

from pretty-diff.

scottgonzalez avatar scottgonzalez commented on August 20, 2024

Another early Christmas present for you...

I just pushed a new branch (split), which has an initial implementation for this. The code is ugly as hell, but it seems to work. The branch version just changes all diffs to be split diffs, but the real version will have an option. Play with it and see if it works for various diffs. If everything looks good, I'll get this into master with the option.

from pretty-diff.

jzaefferer avatar jzaefferer commented on August 20, 2024

Nice. Looks promising!

Looking at jquery/jquery-ui@b6bec79 through pretty-diff, the first difference doesn't line up, maybe due to the lines being too long? The first line on both sides wraps on my screen. This is a real problem.

Looking at qunitjs/qunit@d86d6c3 there's a blank/pale line between each of the lines on the right for the new setUrl function. On Github, the background is just solid green, no lines in between. This is okay, though it should be just a CSS issue.

Otherwise I noticed the "file name diff", like this:

--- a/reporter/html.js
+++ b/reporter/html.js

Except now they're side-by-side. They were there before, so not really part of this issue. Could be optimized to show renames when they occur and hide this otherwise.

from pretty-diff.

scottgonzalez avatar scottgonzalez commented on August 20, 2024

Just pushed some updates. I've been thinking about changing the handling for the file names for a while. I'll tackle that separately though. Let me know if you find any problems with it now.

from pretty-diff.

jzaefferer avatar jzaefferer commented on August 20, 2024

I ran npm install -g scottgonzalez/pretty-diff#split to install this again.

For this commit, I think the output is worse then before. The last change doesn't line up. That also happens for the other commits I mentioned before:

...

from pretty-diff.

scottgonzalez avatar scottgonzalez commented on August 20, 2024

Yeah, I broke the detection of the first line in the lookahead, so everything was off. I also just realized why GitHub is using tables for split view; it's needed to handle one side of the diff having a long line which wraps when the other side doesn't. I'll get that updated soon too.

from pretty-diff.

jzaefferer avatar jzaefferer commented on August 20, 2024

Looks better now. Let me know when you got this tabled, and I'll test again.

Regarding configuration: I like GitHub's model of remember the choice and using that for all diffs until I pick the other view. Maybe you can do the same on the CLI? Once I pick split view using an option, make that the default until I switch again. Like --split and --unified.

from pretty-diff.

tauren avatar tauren commented on August 20, 2024

This is great stuff, nice work!

I have a use for both your split branch and your word-diff branch. Will they eventually be usable together and published to NPM? I can make due for now, just interested in your thoughts on the project's roadmap.

from pretty-diff.

scottgonzalez avatar scottgonzalez commented on August 20, 2024

Will they eventually be usable together and published to NPM?

I'm not sure that word-diff will ever be usable. If it is, then they'll work together.

from pretty-diff.

jzaefferer avatar jzaefferer commented on August 20, 2024

Btw. I've been using the split view since January or so, haven't noticed any other issues.

from pretty-diff.

jzaefferer avatar jzaefferer commented on August 20, 2024

I don't know where my previous comment came from, I haven't actually used the split view locally...

from pretty-diff.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.