Over the past few versions of ExamDiff Pro, we have been improving our handling of document types using the open-source
Tree-sitter parsing library. In ExamDiff Pro 13, we introduced the
scope bar, which provides a handy visual indicator of where you are in the structure of a file. Starting in ExamDiff Pro 14, the same scopes now make the comparison itself more accurate, with the
Match file structures for comparison option.
In ExamDiff Pro 16, we build on this past work and give it a splash of color, by using the Tree-sitter parser for syntax highlighting. This is a huge improvement over the syntax highlighting that we have supported in the past: by parsing the whole file, we're now able to separate out language features like functions, types, and properties.
Here's an example of what a comparison session with C++ files looked like in version 15:
And these are the same files in version 16:
This new Tree-sitter-based syntax highlighting engine (which we now call "advanced syntax highlighting") is supported for all existing document types in ExamDiff Pro, except Basic, Batch, and Lisp. These three document types will still use "basic syntax highlighting" instead.
We have developed two color palettes for advanced syntax highlighting, one for EamDiff Pro's light theme and one for the dark theme. You can also customize the colors yourself in the new Options | Display | Syntax Color panel (note that the colors in this Options panel will depend on whether you are using ExamDiff Pro with a light or dark theme):
But wait, there's more!
In addition to improving our syntax highlighting support for existing document types, we're also adding 9 brand-new document types in ExamDiff Pro 16: Dart, Go, INI, Lua, Markdown, MATLAB, Rust, Verilog, and YAML.
You can see our new and improved Options | Document Types panel below. Note that it now shows more built-in document types than before, and also that each document type now indicates exactly which type-specific features it supports (as I've mentioned before, "advanced syntax highlighting" means that the document type uses the Tree-sitter parser for syntax highlighting):
Labels: 16, ExamDiff Pro, Features