Difftastic, a structural diff tool that understands syntax

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • difftastic

    a structural diff that understands syntax 🟥🟩

    Semantic Diff is probably the closest for now, although I don't think it uses tree-sitter.

    https://semanticdiff.com/

    Found via https://github.com/Wilfred/difftastic/issues/194.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • delta

    A syntax-highlighting pager for git, diff, grep, and blame output

  • tree-sitter-embedded-template

    Tree-sitter grammar for embedded template languages like ERB, EJS

    That may require a tree-sitter implementation for erb templated html; it may exist but if so it's less of a mainstream thing.

    Some quick googling turns up https://github.com/tree-sitter/tree-sitter-embedded-template which may or may not meet your needs.

  • proto

    A pluggable multi-language version manager. (by moonrepo)

  • tree-sitter

    An incremental parsing system for programming tools

    Tree-sitter optimizes for performance (to use in editors), not for correctness. In fact even TS' core developers advocate for not bothering too much with correctness of grammars[1]. I imagine this constraint would be a deal-breaker for GitHub or anyone else in their position.

    [1] https://github.com/tree-sitter/tree-sitter/issues/130#issuec...

  • SemanticDiff

    Community support for SemanticDiff, the programming language aware diff for Visual Studio Code and GitHub.

    Semantic Diff is probably the closest for now, although I don't think it uses tree-sitter.

    https://semanticdiff.com/

    Found via https://github.com/Wilfred/difftastic/issues/194.

  • helix

    A post-modern modal text editor.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • mise

    dev tools, env vars, task runner

    direnv + mise does exactly that. When I cd to various directories I get different env vars, it's pretty neat. Setting aliases would just be a case of adding them.

    https://github.com/jdx/mise/discussions/1525 for an example of how I use direnv with mise.

    https://mise.jdx.dev/direnv.html

    https://mise.jdx.dev/templates.html

  • vim-surround

    surround.vim: Delete/change/add parentheses/quotes/XML-tags/much more with ease

    I don't know what exactly you mean by pasting around the second selection, but you can paste selections, registers or even files at specific lines with some vim-fu. If it's generic enough you could write a function or even keyboard shortcut if it's very simple.

    I have set ",',(,[,{ in visual mode to cut the selection insert the pairs then paste it back as a very hacky solution, but it gets the job done. If you want something more advanced to add or change anything around the selection tpope has solved that with vim-surround[1].

    [1]: https://github.com/tpope/vim-surround

  • tree-sitter-cpp

    C++ grammar for tree-sitter

    Grammar page (https://github.com/tree-sitter/tree-sitter-cpp) reference two documents at the very end:

    - Hyperlinked C++ BNF Grammar (https://alx71hub.github.io/hcb/)

    - EBNF Syntax: C++ (ISO/IEC 14882:1998(E)) https://www.externsoft.ch/download/cpp-iso.html

    The second doc has a year in the title, so it's ancient af.

  • jupyterlab-gitplus

    JupyterLab extension to create GitHub commits & pull requests

    If you are in need of a diff tool for jupter notebooks use https://www.reviewnb.com/ and for word documents use https://www.simuldocs.com/

  • diff-so-fancy

    Good-lookin' diffs. Actually… nah… The best-lookin' diffs. :tada:

    The diff itself is impressive, but in terms of styling I still prefer diff-so-fancy[1]. It's easier to read at a glance.

    [1]: https://github.com/so-fancy/diff-so-fancy/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Difftastic, the Fantastic Diff: How it works

    6 projects | news.ycombinator.com | 6 Sep 2022
  • Difftastic: A syntactic diff tool

    6 projects | /r/rust | 15 Sep 2021
  • diffsitter - a tree-sitter based AST difftool to get meaningful semantic diffs

    1 project | /r/luckystarr | 20 Jul 2021
  • Diffsitter: A tree-sitter based AST difftool to get meaningful semantic diffs

    1 project | /r/patient_hackernews | 18 Jul 2021
  • Diffsitter: A tree-sitter based AST difftool to get meaningful semantic diffs

    1 project | /r/hackernews | 18 Jul 2021

Did you konow that Rust is
the 5th most popular programming language
based on number of metions?