cask "cursor" do arch arm: "arm64", intel: "x64" version "2.4.31,3578107fdf149b00059ddad37048220e4168100f" sha256 arm: "b29b74536826caddf86cfccd6d78fd51032761169c741b4207cb136f58d31e25", intel: "f0b687fded3a63578dc2e842e194109b012d9c759c732ef282c50fdce7debf7a" 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