cask "intellij-idea-oss" do arch arm: "-aarch64" version "2026.2.3" sha256 arm: "14d0e3bc182d5f3352943f9d1af8f5242e141ea21cca9af7af4a1b37b7973227", intel: "ba43d6788550b88a73c97ac5ab483be0f3cf6488a7a9685bdeef87725d9978ca" url "https://github.com/JetBrains/intellij-community/releases/download/idea%2F#{version}/idea-#{version}#{arch}.dmg" name "IntelliJ IDEA OSS" desc "Open-source edition of IntelliJ IDEA" homepage "https://github.com/JetBrains/intellij-community" # Not every GitHub release provides a file for macOS, so we check multiple # recent releases instead of only the "latest" release. livecheck do url :url regex(/^idea[._-]v?(\d+(?:\.\d+)+)#{arch}\.dmg$/i) strategy :github_releases do |json, regex| json.map do |release| next if release["draft"] || release["prerelease"] release["assets"]&.map do |asset| match = asset["name"]&.match(regex) next if match.blank? match[1] end end.flatten end end depends_on :macos app "IntelliJ IDEA OSS.app" uninstall quit: "com.jetbrains.intellij.ce" zap trash: [ "~/Library/Application Support/JetBrains/IdeaIC#{version.major_minor}", "~/Library/Caches/JetBrains/IdeaIC#{version.major_minor}", "~/Library/Logs/JetBrains/IdeaIC#{version.major_minor}", "~/Library/Preferences/com.jetbrains.intellij.ce.plist", "~/Library/Saved Application State/com.jetbrains.intellij.ce.savedState", ] end