id = "kaleidoscope" name = "Kaleidoscope" homepage = "https://kaleidoscope.app" description = "Spot the differences, merge in seconds." # The apple-touch-icon from kaleidoscope.app. icon = "https://framerusercontent.com/images/sBfXC6Y8Hm7Ivd2oT5Spzd8atw.png" # ksdiff is the command Kaleidoscope installs for use as a git/hg diff and # merge tool. The Homebrew cask runs the app's own installer to put it on the # PATH — postflight_steps runs # "Kaleidoscope.app/Contents/Resources/Integration/scripts/install_ksdiff" with # "{{HOMEBREW_PREFIX}}/bin" as its target — and the uninstall stanza names the # matching pkgutil receipt app.kaleidoscope.uninstall_ksdiff # (https://formulae.brew.sh/api/cask/kaleidoscope.json). executables = ["ksdiff"] platforms = ["macos"] [dotfiles] # Kaleidoscope is not sandboxed, so its settings are an ordinary preferences # domain. The cask's uninstall stanza names the current bundle identifier # ("quit": "app.kaleidoscope.v7") and the zap list carries both the versioned # domain and the one from the Black Pixel era: # ~/Library/Preferences/app.kaleidoscope.v*.plist and # ~/Library/Preferences/com.blackpixel.kaleidoscope.plist. The version number # moves with each major release, hence the glob — v7 today, v3 on a Mac that # never upgraded. paths = [ "[preferences]/app.kaleidoscope.v*.plist", "[preferences]/com.blackpixel.kaleidoscope.plist", ] # The caches the same zap list names (~/Library/Caches/app.kaleidoscope.v*, # ~/Library/HTTPStorages, ~/Library/WebKit) are outside the preferences # directory, so nothing above needs carving out. exclude = [] # No whole-file credential: the zap list has no file under the home directory # that is a credential end to end, and the diff itself never leaves the # machine. If a licence key sits inside the preferences domain it cannot be # named here — a plist has no matcher in this schema — so a consumer that # reads plists should decide about that field itself. secret = [] # No machine_lines: the domain is the comparison settings, text scope, # ignore rules and window appearance, which is the reason to carry it.