cask "kaleidoscope" do version "5.2.1,7100" sha256 "9cba678dc4330fbae3225fce65809fd2bea17eb4acee86b3ed6e1590d301db95" url "https://updates.kaleidoscope.app/v#{version.major}/prod/Kaleidoscope-#{version.csv.first}-#{version.csv.second}.app.zip" name "Kaleidoscope" desc "Spot and merge differences in text and image files or folders" homepage "https://kaleidoscope.app/" livecheck do url "https://updates.kaleidoscope.app/v#{version.major}/prod/appcast" regex(/Kaleidoscope[._-]v?(\d+(?:\.\d+)+)[._-](\d+)\.app\.zip/i) strategy :sparkle do |item, regex| match = item.url.match(regex) next if match.blank? "#{match[1]},#{match[2]}" end end auto_updates true conflicts_with cask: %w[ kaleidoscope@2 kaleidoscope@3 ksdiff ] depends_on macos: ">= :ventura" app "Kaleidoscope.app" postflight do contents = "#{appdir}/Kaleidoscope.app/Contents" system_command "#{contents}/Resources/Integration/scripts/install_ksdiff", args: ["#{contents}/MacOS", "#{HOMEBREW_PREFIX}/bin"] end uninstall quit: "app.kaleidoscope.v#{version.major}", pkgutil: "app.kaleidoscope.uninstall_ksdiff" zap trash: [ "~/Library/Application Support/app.kaleidoscope.v*", "~/Library/Application Support/com.blackpixel.kaleidoscope", "~/Library/Application Support/Kaleidoscope", "~/Library/Caches/app.kaleidoscope.v*", "~/Library/Caches/com.blackpixel.kaleidoscope", "~/Library/Caches/com.plausiblelabs.crashreporter.data/com.blackpixel.kaleidoscope", "~/Library/Preferences/app.kaleidoscope.v*.plist", "~/Library/Preferences/com.blackpixel.kaleidoscope.plist", "~/Library/Saved Application State/app.kaleidoscope.v*.savedState", "~/Library/Saved Application State/com.blackpixel.kaleidoscope.savedState", "~/Library/WebKit/app.kaleidoscope.v*", ] end