github iagodpassos/libremerge v1.2.0
LibreMerge 1.2.0

4 hours ago

LibreMerge 1.2: WinMerge's command line, the editor's options, and copying just what you select

This release reads WinMerge's command line, completes Options > Editor with its General and Compare/Merge pages, copies just the selected part of a difference, and adds WinMerge's Codepage page with the detection of encodings.

Added

  • WinMerge's command line. LibreMerge takes WinMerge's switches: the panes' descriptions and read-only sides (-dl, -dr, -wl, -wr), -e to close with Esc, -x and -xq to quit when the files are identical, the compare options (-ignorews, -ignorecase and the rest), the table's (-table-delimiter and the rest), -fileext, -self-compare, -t, -m, -f, -cfg and more. For scripts there are -noninteractive, -enableexitcode (0 identical, 1 different, 2 error), -o to save the result to another file, -noprefs and -inifile. libremerge --help lists them; see the README's Command line section.
  • Include subfolders, on the selection screen and as -r: without it a folder comparison lists the top folders' items, a subfolder opens in the same window and ".." goes back up, as in WinMerge.
  • Options > Codepage, WinMerge's page: the default codepage, and the detection of the encoding of files without a BOM (also -cp on the command line). The charset an HTML or XML file declares is read as well. ICU does the work of Windows' MLang.
  • Options > Editor > General, complete: the tab size, inserting tabs or spaces, and Tab and Shift+Tab indenting the selected lines; Preserve original EOL. The status bar's column counts as the screen shows it, and where lines keep their own endings it gives the line's.
  • Line endings kept line by line. A file whose lines end in more than one way keeps each line's own ending when saved, in text and in tables.
  • Options > Editor > Compare/Merge, WinMerge's page:
    • Automatic rescan, a second after you stop typing;
    • View line differences (also in the View menu), at character or word level, with the word break characters;
    • the copy granularity: with text selected, Copy to Right or Left copies the whole differences it touches, the inline differences it takes in, the lines, or just the characters selected (the default, as in WinMerge).

Changed

  • Line endings count in the comparison: CRLF and LF lines differ, and files whose lines end otherwise bring up WinMerge's question to treat them as the same.
  • Inline differences are character-level by default, as in WinMerge (word level is on the Compare/Merge page), and a block of more than 21 lines gets them line by line.
  • A copy that leaves the files identical says so, as in WinMerge.
  • New texts in German, Spanish, Catalan and French come from WinMerge's translations.

Fixed

  • Closing a comparison goes back to the tab you were on before, not to the one next to it (#16, thanks @hendev1).
  • CJK characters and emoji stay intact when a Unicode file is read (emoji showed as "??"), and a bad UTF-8 byte no longer swallows the text after it.
  • The word break characters were never used (the engine broke words at ,.;: only).
  • An edit made after a Recompare (F5) did not mark the differences out of date.

Downloads

  • macOS: universal dmg (Intel + Apple Silicon, macOS 14.4+), also brew install --cask iagodpassos/tap/libremerge
  • Linux: AppImage for x86_64 and arm64 (any distro with glibc 2.35+, nothing to install), also brew install --cask iagodpassos/tap/libremerge with Homebrew on Linux

Don't miss a new libremerge release

NewReleases is sending notifications on new releases.