difftastic
navi
difftastic | navi | |
---|---|---|
68 | 52 | |
19,575 | 14,365 | |
- | - | |
9.9 | 8.2 | |
8 days ago | about 1 month ago | |
Rust | Rust | |
MIT License | Apache License 2.0 |
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.
navi
-
Show HN: TBMK – A Commands Bookmark for Terminal
I've built something similar for myself (fzf+a bit of shell). But I realized that fzf's history view (with very long history buffer) works much better for my use case.
I still needed something to cover rare commands with dynamic arguments. That got covered by Navi: https://github.com/denisidoro/navi (takes more friction to add new command than with TBMK, but you get much more organized and easier to search tool).
-
Isues with Navi CLI cheat sheets
navi repo add denisidoro/navi-tldr-pages Cloning https://github.com/denisidoro/navi-tldr-pages into /home//.local/share/navi/cheats/tmp... Cloning into '/home//.local/share/navi/cheats/tmp'... remote: Enumerating objects: 1841, done. remote: Counting objects: 100% (1841/1841), done. remote: Compressing objects: 100% (1756/1756), done. remote: Total 1841 (delta 83), reused 1839 (delta 83), pack-reused 0 Receiving objects: 100% (1841/1841), 504.71 KiB | 1.95 MiB/s, done. Resolving deltas: 100% (83/83), done. Hey, listen! navi encountered a problem. Do you think this is a bug? File an issue at https://github.com/denisidoro/navi. Caused by: 0: Failed to import cheatsheets from `denisidoro/navi-tldr-pages` 1: Failed to get cheatsheet files from finder 2: Failed to pass data to finder 3: Unable to prompt cheats to import 4: Broken pipe (os error 32)
- How to store frequently used commands?
-
intelli-shell - Bookmark commands and autocomplete at any time!
Similar projects (in a way): navi
-
How I've improved my Linux Skills
I think navi is a better alternative. You can create custom cheats too.
-
Me relearning git every week
navi might help you with that
- Twitter open sources Navi: High-Performance Machine Learning Serving Server in Rust
- Looking for a snippet tool
-
Script manager?
I like using navi, but idk if you want something that runs in the terminal.
-
229 Linux Commands with Examples
There's also a cli program called tealdeer that does this kind of thing and uses a local cache. And there's a fuzzy search interactive cli cheatsheet program called navi that's also pretty cool (and you can write your own cheatsheets).
What are some alternatives?
delta - A syntax-highlighting pager for git, diff, and grep output
tldr - 📚 Collaborative cheatsheets for console commands
diffsitter - A tree-sitter based AST difftool to get meaningful semantic diffs
cheat.sh - the only cheat sheet you need
neogit - An interactive and powerful Git interface for Neovim, inspired by Magit
thefuck - Magnificent app which corrects your previous console command.
Visual Studio Code - Visual Studio Code
zsh-histdb - A slightly better history for zsh
gumtree - An awesome code differencing tool
termgraph - a python command-line tool which draws basic graphs in the terminal
tree-sitter-cpp - C++ grammar for tree-sitter
md2pdf - Markdown to PDF conversion tool