PrestoSoft Blog :: Home

Friday, November 15, 2024

ExamDiff Pro 16: New Document Types and Improved Syntax Highlighting

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: , ,

Thursday, November 14, 2024

ExamDiff Pro 16: Improved Clipboard Comparison Support

ExamDiff Pro 16 will introduce the ability to select clipboard snippets to compare from your clipboard history, enabling you to compare files against clipboard snippets you've taken in the past and even compare multiple clipboard snippets against each other.
To select a clipboard item for comparison, click the drop-down button next to the Clipboard button in the Compare Files pane of the Compare dialog (clicking the Clipboard button itself will select the most recent clipboard item, just like it does today):
You'll see a list of up to 25 of the most recent entries in your clipboard (less if your clipboard history was cleared recently). Each item shows a sample of its contents and the time that it was added to the clipboard. Hover over an item to see a tooltip with a longer preview of the clipboard item's contents:
After you've selected a clipboard item, it will be shown as "[Clipboard Contents]" followed by its size (in number of characters) in the Compare dialog:
Note that this feature requires Windows 10 or later. Earlier versions of Windows will only support the current clipboard-comparison behavior, where you can compare only the most recent item in your clipboard.

Labels: , ,

Sunday, May 12, 2024

ExamDiff Pro 15.0 Released!

We are pleased to announce that we've released ExamDiff Pro 15.0.

Here's what's new in this version:
You can find more details about ExamDiff Pro 15.0, as well as a download link, here, and the complete list of changes here.

Labels: , ,

Saturday, January 06, 2024

ExamDiff Pro 15.0: Directory Filtering Improvements

ExamDiff Pro 15.0 will introduce a set of features to improve the experience around using view filters in directory comparison. View filters let you quickly filter which items (files/directories) are shown in a directory comparison session, filtering either based on an item's path or by an item's comparison status.

Separate toggles for Status View Filter and Path View Filter

First, the View | Use View Filter command is being separated into two separate commands, View | Use Status View Filter and View | Use Path View Filter, with two separate corresponding toolbar buttons, that allow controlling these two options separately, as shown below. (Note that the actual view filter options continue to be under Options | Display | View Filter.)

This can be useful in situations where you want to toggle either the status or path filter on and off while keeping the other filter set. For example, you might want to exclude certain directories from the view (using the path view filter), and you want to repeatedly toggle whether identical items are shown or hidden (using the status view filter). Prior to this change, you would have had to toggle the entire View Filter on and off, but this would also toggle the path view filter, causing directories that you don't care about to come into view – annoying! Now you'll be able to actually control these two filters independently.

Quick Path View Filter toolbar

But what if you want to see certain files, and you don't want to have to keep opening the Options dialog each time you change the path filter? ExamDiff Pro 15.0 introduces a Quick path view filter to help with this. It's an additional path filter that you can control directly from the toolbar. You can think of this feature as basically a fancy search bar, because it lets you immediately find files and directories by simply typing in their names, paths, or extensions.

For example, let's say I'm comparing a pair of directories, and I want to hone in on just the AVI files within these directories. All I have to do is type "*.avi" into the Quick path view filter text box:

And when I press Enter or click the Apply Filter button, the filter is immediately applied:

Because this view filter is also controlled separately from the others, we can separately enable a status view filter as well. For example, if I want to check if any of these *.avi files are identical, I can just click the Show Only Identical quick status filter toolbar button:

If I'm done focusing on *.avi files, I can now clear the quick path view filter by clicking on the Clear Filter button next to the textbox. Note that the Show Only Identical status filter continues to be set because it's controlled independently:

Labels: , ,

Wednesday, January 03, 2024

ExamDiff Pro 15.0: Fast Content Comparison Mode for Directory Comparison

Historically, ExamDiff Pro has had two main ways to compare files within directories: file metadata comparison, in which only the metadata for a given file (such as timestamp, file size, etc) was looked at, and "full file comparison", in which pairs of files were compared exactly the same way that happens in regular file comparison, using all available file comparison options (plug-ins, Ignore options, etc). The trade-off has been that file metadata comparison is imprecise and can produce "false positives" (different files marked as a identical) or "false negatives" (vice versa), while full file comparison can be very time-intensive when large files are involved or when many plug-ins or other advanced options are invoked.

ExamDiff Pro 15.0 introduces a new "fast file content comparison" mode that is essentially a middle ground between the two existing modes. In this mode, file contents are compared like in full file comparison mode, but with two important differences to speed up comparison. First, none of the advanced comparison options (Plug-ins, document types, Ignore options, etc) are used. Secondly, the files are compared byte-by-byte, and comparison ends as soon as the first difference is found (if the files are different). In certain situations (such as very large files with many differences), this can save a huge amount of comparison time (because only a fraction of each file is being looked at), while still producing accurate results.

We think that this fast content comparison mode will be useful for most ExamDiff Pro users. The main situations where you might want to still use full file comparison mode would be cases in which the advanced file comparison options offered by full file comparison would actually affect whether files are identical or different in a directory. For example, you might have some source code files that are identical except for comments (requiring the use of document type features) or some Word documents with identical text but differences in formatting that you don't care about (requiring the use of Plug-ins).

To enable this new comparison mode, select Perform file content comparison under Options | Directory Comparison | Comparison precision and check the Compare files byte-by-byte (fast mode) option:

Labels: , ,