id = "sublime-merge" name = "Sublime Merge" homepage = "https://www.sublimemerge.com" description = "A Git GUI Client for Mac, Windows and Linux, from the makers of Sublime Text." # The app icon, from the Flathub build Sublime HQ publishes as # com.sublimemerge.App; sublimemerge.com offers only a .ico and a wordmark. icon = "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.sublimemerge.App.png" # `smerge` is the command-line helper Sublime Merge installs — the Homebrew # cask links it out of # "Sublime Merge.app/Contents/SharedSupport/bin/smerge" # (https://formulae.brew.sh/api/cask/sublime-merge.json). It opens # repositories in the app and carries no configuration of its own, so the entry # is filed under the client whose settings it reaches. executables = ["smerge"] [dotfiles] # https://www.sublimemerge.com/docs/packages gives the data directory per # platform: "%APPDATA%\Sublime Merge\" on Windows, # "~/Library/Application Support/Sublime Merge/" on Mac and # "~/.config/sublime-merge/" on Linux, with "User loose packages" in the # "Packages/" folder inside it. That Packages/User folder is where the user's # own Preferences.sublime-settings, .sublime-keymap files and custom commands # land — the same layout, and the same reasoning, as apps/sublime-text.toml. # # The three locations are genuinely three different names for the app's data # directory rather than one named base directory: on macOS it is under # ~/Library while on Linux it is ~/.config, and the Windows folder is spelled # with spaces. So each is listed, and a consumer skips the ones absent. paths = [ "~/Library/Application Support/Sublime Merge/Packages/User/", "~/.config/sublime-merge/Packages/User/", "%APPDATA%/Sublime Merge/Packages/User/", ] # The rest of the data directory is installed software: the same page puts the # downloaded .sublime-package archives in "Installed Packages/" beside it, and # the default packages inside the application bundle. None of that is named # above, so there is nothing to carve out of what is. # Nothing Sublime Merge writes into Packages/User is a credential — it is the # settings, key bindings and custom commands the user authored. Git's own # credentials are Git's, and live in apps/git.toml. secret = [] # No machine_lines: these are preference files, which is exactly what a user # wants to follow them between machines.