diffsitter - A tree-sitter based AST difftool to get meaningful semantic diffs
diffsitter performs diffs on text files using the AST to compute the diff instead of using a naive text-based diff. This can give you more semantically meaningful diff information, which will prevent diffs from getting polluted by formatting differences, for example.
diffstter uses the parsers from the tree-sitter project to parse source code. As such, the languages supported by this tool are limited by the languages supported by the tree-sitter project.
A prefect diff tool shows the difference of two files semantically. It is unfortunately only for Rust language but it is very inspiring.