WinMerge / winmerge

WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
https://winmerge.org/
GNU General Public License v2.0
6.43k stars 798 forks source link

Allow plugin pipeline aliases or simple plugins to be registered in the GUI #2257

Closed sdottaka closed 5 months ago

sdottaka commented 6 months ago

This PR introduces new aliases (ALIAS_PACK_UNPACK, ALIAS_PREDIFF, ALIAS_EDIT_SCRIPT) as plugin types, enabling users to register them through the GUI. Users can register a specified plugin pipeline (plugin name + arguments, or plugin names + arguments concatenated with a pipe) as an alias, which can then be invoked as a plugin. For instance, a plugin pipeline that extracts columns 5 to 100 from a text file, sorts them in ascending order, and performs a comparison can be registered as the alias SelectColumn5100SortAscending in the following window. Once registered, this alias can be invoked from the plugin menu.

SelectColumns 5-100|SortAscending

image image image

The alias for this plugin is saved in APPDATA%\WinMerge\MergePlugins\Plugins.xml.

Additionally, the PR facilitates the creation of simple plugins directly from the GUI.