{"slug": "difftastic", "name": "difftastic", "category": "other", "category_name": "Other software", "description": "", "recommenders": 3, "commenters": 3, "warners": 0, "score": 2.431, "rising": -0.98, "first": "2025-11-10", "latest": "2026-01-14", "why": "I love using [difftastic] for my diffing tool to get context aware diffs.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 0, "warn": 0}, "spark": [2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I love using [difftastic] for my diffing tool to get context aware diffs.", "icon": true, "domain": null, "github_repo": "github.com/wilfred/difftastic", "official_url": "https://difftastic.wilfred.me.uk", "pricing": "", "aliases": ["difftastic"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 745968720, "item_id": 46623045, "url": "https://news.ycombinator.com/item?id=46623045", "by": "DiabloD3", "date": "2026-01-14", "stance": "recommend", "quote": "Its common to change git's diff to things like difftastic, so formatting slop doesn't trigger false diff lines.", "excerpt": "You know there are other kinds of diffs, right? Its common to change git's diff to things like difftastic, so formatting slop doesn't trigger false diff lines. You're probably better off, FWIW, just avoiding LLMs. LLMs cannot produce working code, and they're the wrong tool for this. They're just predicting tokens around other tokens, they do not ascribe meaning to them, just statistical likelihood. LLM weights thems", "context": "", "use_case": "structural diffs", "switched_from": "", "story": "Are diffs still useful for AI-assisted code changes?"}, {"id": 734576992, "item_id": 45911062, "url": "https://news.ycombinator.com/item?id=45911062", "by": "vinnyhaps", "date": "2025-11-12", "stance": "recommend", "quote": "I love using [difftastic] for my diffing tool to get context aware diffs.", "excerpt": "I\u2019m pretty sure one of the Zed founders wrote tree-sitter, so I\u2019m sure there\u2019s some overlap It\u2019s really cool to see tree-sitter unlock so many of these use cases. I love using [difftastic] for my diffing tool to get context aware diffs. So in the example from the article, the diff would highlight the `void` and `int` changes with a heavier background of red and green respectively [difftastic]: https://github.com/Wilf", "context": "", "use_case": "context-aware diffs", "switched_from": "", "story": "Mergiraf: Syntax-Aware Merging for Git"}, {"id": 734135153, "item_id": 45883447, "url": "https://news.ycombinator.com/item?id=45883447", "by": "eulgro", "date": "2025-11-10", "stance": "recommend", "quote": "Integration with difftastic for semantic diffs.", "excerpt": "Top things I love with lazygit: - Patching with <C-p>, easily the best feature. With a few keystrokes I can revert or move lines from any commit. - Amend any commit directly instead of fixup + rebase. - Single line hunk manipulation. - Integration with difftastic for semantic diffs.", "context": "", "use_case": "semantic diffs", "switched_from": "", "story": "The lazy Git UI you didn't know you need"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["structural diffs", "context-aware diffs", "semantic diffs"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46619855", "title": "Are diffs still useful for AI-assisted code changes?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45799664", "title": "Mergiraf: Syntax-Aware Merging for Git", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=45878578", "title": "The lazy Git UI you didn't know you need", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 2}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 745968720, "item_id": 46623045, "url": "https://news.ycombinator.com/item?id=46623045", "by": "DiabloD3", "date": "2026-01-14", "stance": "recommend", "quote": "Its common to change git's diff to things like difftastic, so formatting slop doesn't trigger false diff lines.", "excerpt": "You know there are other kinds of diffs, right? Its common to change git's diff to things like difftastic, so formatting slop doesn't trigger false diff lines. You're probably better off, FWIW, just avoiding LLMs. LLMs cannot produce working code, and they're the wrong tool for this. They're just predicting tokens around other tokens, they do not ascribe meaning to them, just statistical likelihood. LLM weights thems", "context": "", "use_case": "structural diffs", "switched_from": "", "story": "Are diffs still useful for AI-assisted code changes?"}, {"id": 734576992, "item_id": 45911062, "url": "https://news.ycombinator.com/item?id=45911062", "by": "vinnyhaps", "date": "2025-11-12", "stance": "recommend", "quote": "I love using [difftastic] for my diffing tool to get context aware diffs.", "excerpt": "I\u2019m pretty sure one of the Zed founders wrote tree-sitter, so I\u2019m sure there\u2019s some overlap It\u2019s really cool to see tree-sitter unlock so many of these use cases. I love using [difftastic] for my diffing tool to get context aware diffs. So in the example from the article, the diff would highlight the `void` and `int` changes with a heavier background of red and green respectively [difftastic]: https://github.com/Wilf", "context": "", "use_case": "context-aware diffs", "switched_from": "", "story": "Mergiraf: Syntax-Aware Merging for Git"}, {"id": 734135153, "item_id": 45883447, "url": "https://news.ycombinator.com/item?id=45883447", "by": "eulgro", "date": "2025-11-10", "stance": "recommend", "quote": "Integration with difftastic for semantic diffs.", "excerpt": "Top things I love with lazygit: - Patching with <C-p>, easily the best feature. With a few keystrokes I can revert or move lines from any commit. - Amend any commit directly instead of fixup + rebase. - Single line hunk manipulation. - Integration with difftastic for semantic diffs.", "context": "", "use_case": "semantic diffs", "switched_from": "", "story": "The lazy Git UI you didn't know you need"}]}