Displaying syntactic diffs is a really hard problem. GumTree has instructions for using it with Docker, so it's easy to try: https://github.com/GumTreeDiff/gumtree/tree/main/docker#usage
I compared some C++ with difftastic. GumTree does pretty well in the first case, but it's highlighting too much in the second.