difftastic
magit-delta
Our great sponsors
difftastic | magit-delta | |
---|---|---|
68 | 10 | |
19,530 | 279 | |
- | - | |
9.9 | 0.0 | |
4 days ago | 6 months ago | |
Rust | Emacs Lisp | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
difftastic
-
Linus Torvalds adds arbitrary tabs to kernel code
i want a diff tool that shows me exactly which tokens have changed, and which haven't, regardless of how they are laid out.
These already exist: https://github.com/Wilfred/difftastic
when we get that, then we should get even less merge conflicts.
Counterintuitively, that is not the case. AST-merge is a much, much, much, much, much harder problem than AST-diff.
https://github.com/Wilfred/difftastic?tab=readme-ov-file#can...
The fact that diffs can be used to drive a 3-way merge is in fact an accidental property that arises due to the sheer crudeness of the diff format. As soon as you start using more-sophisticated diff formats, solutions to "the diff problem" no longer lead directly to solutions to "the merge problem".
- FLaNK AI Weekly 25 March 2025
-
Difftastic, a structural diff tool that understands syntax
Yes there is an `—-override` option you can use to specify the language in which a file should be parsed.
https://github.com/Wilfred/difftastic/blob/master/CHANGELOG....
-
So You Think You Know Git – Git Tips and Tricks by Scott Chacon
Use the fantastic difftastic instead of git's diff. https://difftastic.wilfred.me.uk/
[alias]
- Difftastic: A structural diff tool that understands syntax
-
SemanticDiff now supports Rust
difftastic provides similar capabilities in a free tool based on treesitter
-
My programming language aware diff for VS Code and GitHub now supports Rust
difftastic? https://github.com/Wilfred/difftastic
-
Prettier $20k Bounty was Claimed
If you're looking for a VS Code extension or a GitHub app, check out https://semanticdiff.com/. I'm a co-founder of this project.
If you prefer a CLI tool, check out https://github.com/Wilfred/difftastic. It supports more languages, but doesn't recognize when code has been replaced by an equivalent version ("invariances"). So it will show some changes (e.g. replacing a character in a string with an escape sequence) even though they are technically equivalent.
-
Pijul: Version-Control Post-Git • Goto 2023
Shameless plug: I've written difftastic[1], a tool that builds ASTs and then does a structural diff of them. You can use it with git too.
It's an incredibly hard problem though, both from a computational complexity point of view, and trying to build a comprehensible UI once you've done the structural AST diff.
[1]: https://github.com/wilfred/difftastic
-
Always leave a trailing comma in Python lists, dicts, tuples
There is a diff tool called difftastic: https://github.com/Wilfred/difftastic
The idea is that it does not show diff based on text change, but on syntastic meaning. For that, it uses tree-sitter.
I think it still shows the trailing comma in the situation as shown in the article, but it's quite different experience than the standard text based diff.
magit-delta
-
Magit
magit-delta's dev is very responsive, but there's still an outstanding performance issue blocking me from adopting it:
https://github.com/dandavison/magit-delta/issues/9
-
Magit diff highlight
magit-delta does this. I tried it a few years ago myself and ran into some issues. About time I try it again :)
- delta for vc-mode?
-
Go to next line in magit-delta broken after updating to Emacs 29
For now I disable this package, but I really miss the magit highlighting. I created github issue, but it has no updates since 3 weeks, so maybe community could found the solution?
- Difftastic: syntax-aware intelligent diffs
-
An experiment to make diffs easier to read
You might be interested in Delta and the emacs package magit-delta that uses it. It has this feature and several other as well.
-
How to configure magit with difftastic?
You might look into https://github.com/dandavison/magit-delta
- magit-delta: Use delta (https://ift.tt/2V2nRBc) when viewing diffs in Magit
- How to override magit's diff view? (for syntax highlighted, side-by-side diff view)
What are some alternatives?
delta - A syntax-highlighting pager for git, diff, and grep output
emacs-vdiff - Like vimdiff for Emacs
diffsitter - A tree-sitter based AST difftool to get meaningful semantic diffs
diffview-mode - View diffs side-by-side in Emacs
neogit - An interactive and powerful Git interface for Neovim, inspired by Magit
git-link - Emacs package to get the GitHub/Bitbucket/GitLab/... URL for a buffer location
Visual Studio Code - Visual Studio Code
gerrit.el - gerrit integration in emacs
gumtree - An awesome code differencing tool
emacs-diff-ansi
tree-sitter-cpp - C++ grammar for tree-sitter
magit-todos - Show source files' TODOs (and FIXMEs, etc) in Magit status buffer