cask "cursor" do arch arm: "arm64", intel: "x64" version "2.4.28,f3f5cec40024283013878b50c4f9be4002e0b587" sha256 arm: "681e3b783116796103601cacb8b224019550b3b80837c9f47e49240ef8137b50", intel: "e06e09d170642ea3215943cb7caf20f95ca1c5bb75b2d75fd364f691b2643d02" url "https://downloads.cursor.com/production/#{version.csv.second}/darwin/#{arch}/Cursor-darwin-#{arch}.zip" name "Cursor" desc "Write, edit, and chat about your code with AI" homepage "https://www.cursor.com/" livecheck do url "https://api2.cursor.sh/updates/api/update/darwin-#{arch}/cursor/0.0.0/stable" regex(%r{/production/(\h+)/darwin/#{arch}/Cursor[._-]darwin[._-]#{arch}\.zip}i) strategy :json do |json, regex| match = json["url"]&.match(regex) next if match.blank? "#{json["name"]},#{match[1]}" end end auto_updates true depends_on macos: ">= :monterey" app "Cursor.app" binary "#{appdir}/Cursor.app/Contents/Resources/app/bin/code", target: "cursor" zap trash: [ "~/.cursor", "~/.cursor-tutor", "~/Library/Application Support/Caches/cursor-updater", "~/Library/Application Support/Cursor", "~/Library/Caches/com.todesktop.*", "~/Library/Caches/com.todesktop.*.ShipIt", "~/Library/HTTPStorages/com.todesktop.*", "~/Library/Logs/Cursor", "~/Library/Preferences/ByHost/com.todesktop.*.ShipIt.*.plist", "~/Library/Preferences/com.todesktop.*.plist", "~/Library/Saved Application State/com.todesktop.*.savedState", "~/Library/Saved Application State/todesktop.com.ToDesktop-Installer.savedState", ] end