id = "beyond-compare" name = "Beyond Compare" homepage = "https://www.scootersoftware.com" description = "A utility for comparing files and folders that helps you find and reconcile differences in source code, folders, images and data." # The app icon, from the vendor's site. icon = "https://www.scootersoftware.com/bc_icon.png" executables = ["bcompare", "bcomp"] [dotfiles] # https://www.scootersoftware.com/v5help/where_settings_are_stored.html # ("Where Settings are Stored on your Computer"): "Beyond Compare stores your # sessions, customized file formats and other preferences as .xml files in its # settings folder." # Windows: C:\Users\\AppData\Roaming\Scooter Software\Beyond Compare 5 # macOS: ~/Library/Application Support/Beyond Compare # (renamed to "Beyond Compare 5" when several major versions coexist) # Linux: $XDG_CONFIG_HOME/bcompare, or ~/.config/bcompare when the variable # is unset, or bcompare5 for a side-by-side install; ~/.beyondcompare # for installs upgraded from an older release. # The glob in each spelling is that optional major version. # # Three genuinely different places rather than one place under three names, so # each is written out. The Linux one is [configHome] because the page says the # program reads $XDG_CONFIG_HOME; on macOS and Windows that root would name a # directory Beyond Compare never opens, and a consumer simply finds nothing # there. paths = [ "~/Library/Application Support/Beyond Compare*/", "[configHome]/bcompare*/", "~/.beyondcompare/", "%APPDATA%/Scooter Software/Beyond Compare */", ] # No file here is a credential end to end — the folder is sessions, file # formats and display preferences. One caveat a consumer should scan for: an # FTP profile's "Save password" option "weakly encrypt[s] your password and # store[s] it along with other FTP profile settings" # (https://www.scootersoftware.com/v5help/profileftplogin.html), so a saved # remote-service password ends up inside those .xml files. This schema's # `format` covers toml, yaml and json only, so there is no way to name that # field here; it is left to the consumer's own content check. secret = [] # No machine_lines: the settings are comparison rules, colours and saved # sessions. Sessions do name absolute paths, but they are the body of a # session file rather than lines in a settings file, and XML has no matcher # here in any case.