Data types that track the change state for syntax nodes.
Implements Dijkstra’s algorithm for shortest path, to find an optimal and readable diff between two ASTs.
A graph representation for computing tree diffs.
A fast diff for linear content, using Myer’s diff algorithm.
Prefer contiguous novel nodes on the same line.
Find nodes that are obviously unchanged, so we can run the main diff on smaller inputs.