cask "wezterm" do version "20240203-110809,5046fc22" sha256 "e77388cad55f2e9da95a220a89206a6c58f865874a629b7c3ea3c162f5692224" url "https://github.com/wez/wezterm/releases/download/#{version.csv.first}-#{version.csv.second}/WezTerm-macos-#{version.csv.first}-#{version.csv.second}.zip", verified: "github.com/wez/wezterm/" name "WezTerm" desc "GPU-accelerated cross-platform terminal emulator and multiplexer" homepage "https://wezfurlong.org/wezterm/" livecheck do url :url regex(/^(\d+(?:[.-]\d+)+)-(\h+)$/i) strategy :github_latest do |json, regex| json["tag_name"]&.scan(regex)&.map { |match| "#{match[0]},#{match[1]}" } end end conflicts_with cask: "homebrew/cask-versions/wezterm-nightly" app "WezTerm.app" %w[ wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes ].each do |tool| binary "#{appdir}/WezTerm.app/Contents/MacOS/#{tool}" end binary "WezTerm.app/Contents/Resources/shell-completion/zsh", target: "#{HOMEBREW_PREFIX}/share/zsh/site-functions/_wezterm" binary "WezTerm.app/Contents/Resources/shell-completion/bash", target: "#{HOMEBREW_PREFIX}/etc/bash_completion.d/wezterm" binary "WezTerm.app/Contents/Resources/shell-completion/fish", target: "#{HOMEBREW_PREFIX}/share/fish/vendor_completions.d/wezterm.fish" preflight do # Move "WezTerm-macos-#{version}/WezTerm.app" out of the subfolder staged_subfolder = staged_path.glob(["WezTerm-*", "wezterm-*"]).first if staged_subfolder FileUtils.mv(staged_subfolder/"WezTerm.app", staged_path) FileUtils.rm_rf(staged_subfolder) end end zap trash: "~/Library/Saved Application State/com.github.wez.wezterm.savedState" end