Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Side by side file diffing #405

Open
kirawi opened this issue Jul 3, 2021 · 15 comments
Open

Side by side file diffing #405

kirawi opened this issue Jul 3, 2021 · 15 comments
Assignees
Labels
A-helix-term Area: Helix term improvements A-vcs Area: Version control system interaction C-enhancement Category: Improvements E-medium Call for participation: Experience needed to fix: Medium / intermediate

Comments

@kirawi
Copy link
Member

kirawi commented Jul 3, 2021

No description provided.

@kirawi kirawi added the C-enhancement Category: Improvements label Jul 3, 2021
@kirawi kirawi removed their assignment Aug 19, 2021
@kirawi kirawi added A-core Area: Helix core improvements E-medium Call for participation: Experience needed to fix: Medium / intermediate A-helix-term Area: Helix term improvements and removed A-core Area: Helix core improvements labels Aug 19, 2021
@zbindenren
Copy link

Maybe delta can help in that case: https://github.com/dandavison/delta

It is the best terminal diff viewer I ever used and it is also written in rust.

@sudormrfbin
Copy link
Member

Delta is a pager that acts on already diffed data (with - and + prepended to diffed lines like in the default git diff output) and simply applies syntax highlighting and better colors it. We will have to use similar for this, which we already use in helix to :reload the file from disk.

@archseer archseer changed the title File comparison Side by side file diffing Nov 21, 2022
@archseer
Copy link
Member

@pascalkuthe mentioned he'll probably pick up the work on this in the future after git gutter is merged.

@pascalkuthe
Copy link
Member

After #3890 is merged, the main blocker will be rendering the diffs side by side (as a form of virtual text).
I am working with @kirawi to land the necessary changes in the rendering system to make that happen.

@pascalkuthe pascalkuthe self-assigned this Dec 3, 2022
@pascalkuthe pascalkuthe added the A-vcs Area: Version control system interaction label Dec 3, 2022
@LifeWorks
Copy link

Is this feature available in the current version? I see it is open, so I assume I still can not diff two buffers?

@archseer
Copy link
Member

archseer commented Apr 7, 2023

Yes, open issues typically indicate that a feature hasn't been implemented yet.

@wh75er
Copy link

wh75er commented Dec 20, 2023

Hello! Would it be possible to use inline git diff in one buffer? It would be amazing

@stevenxxiu
Copy link

Hello! Would it be possible to use inline git diff in one buffer? It would be amazing

Please open a separate issue for that.

@Dmole
Copy link

Dmole commented Aug 15, 2024

There are 2 uses cases I'd want helixdiff to handle:

  • simple diff of 2 config files

  • git conflictstyle diff3 which can use:

    vimdiff -f -d -c '4wincmd w | wincmd J' "$LOCAL" "$BASE" "$REMOTE" "$MERGED"

@DocteurFlashbios
Copy link

It would be really great to offer a more clear and advanced way to diff/merge files than vim. Either threeway merge is supported, but nothing is shown about who is who and I never managed to remember the "fingertricks"

@Dmole
Copy link

Dmole commented Sep 22, 2024

It would be really great to offer a more clear and advanced way to diff/merge files than vim. Either threeway merge is supported, but nothing is shown about who is who and I never managed to remember the "fingertricks"

Is
:ls
or
:set statusline=%n\ %f
not what you want?

@DocteurFlashbios
Copy link

It would be really great to offer a more clear and advanced way to diff/merge files than vim. Either threeway merge is supported, but nothing is shown about who is who and I never managed to remember the "fingertricks"

Is :ls or :set statusline=%n\ %f not what you want?

I thought about some vimdiff features like https://devhints.io/vim-diff
which are very usefull for merging files or branches

@gauteh
Copy link

gauteh commented Oct 28, 2024

Thanks for this great project! Just want to pitch in that diffing git revisions (fugitive functionality) and using helix as a difftool (to do reviewes or similar), fixing conflicts etc, would be really amazing. I don't really need a full git client (like committing etc, even logs), but I suppose those may be the easy parts.

@debajyoti1990
Copy link

It would be great if core developers take some time out to get this long pending feature request. 🙏

@JeftavanderHorst
Copy link
Contributor

Keep in mind that helix is developed by volunteers with limited time. If you want a certain feature, you can create a pull request, no need to wait for the core developers to implement something. Helix has a very readable codebase which makes it relatively easy to get started, even if this would be your first contribution to open source.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-helix-term Area: Helix term improvements A-vcs Area: Version control system interaction C-enhancement Category: Improvements E-medium Call for participation: Experience needed to fix: Medium / intermediate
Projects
None yet
Development

No branches or pull requests