Skip to content

feat: add ghostty support#131

Merged
acidghost merged 1 commit intomainfrom
feat/ghostty
Mar 15, 2026
Merged

feat: add ghostty support#131
acidghost merged 1 commit intomainfrom
feat/ghostty

Conversation

@acidghost
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings March 15, 2026 20:11
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds configurable support for opening TUI editors via either tmux (existing behavior) or Ghostty, and wires that preference from the macOS app into the bundled git-gabber CLI.

Changes:

  • Introduces SupportedTerminal (shared) and a --terminal option in the CLI to choose how TUI editors are opened.
  • Adds a Settings picker in the macOS app and forwards the selected terminal to the CLI invocation.
  • Improves “not found” error formatting and adds a small UI hint that installing the CLI is optional.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
git-gabber/gabber.swift Adds --terminal option and Ghostty/tmux terminal-opening logic.
git-gabber/errors.swift Adds reusable not-found formatting and a resources-not-found error case.
gabber/SettingsView.swift Adds @AppStorage terminal preference and a picker UI.
gabber/InstallView.swift Adds informational text indicating CLI install is optional.
gabber/CLI.swift Reads terminal preference and passes --terminal to the bundled CLI.
gabber.xcodeproj/project.pbxproj Adds the shared gabber-common folder to the project structure/targets.
gabber-common/common.swift Defines the shared SupportedTerminal enum.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread gabber/CLI.swift
Comment on lines +81 to +84
let terminal =
if let raw = UserDefaults.standard.string(forKey: "terminal") {
SupportedTerminal(rawValue: raw)!
} else { SupportedTerminal.tmux }
Comment thread git-gabber/gabber.swift
}

func openTerm(osa: String, _ script: String, cmd editorCmd: String, in dst: URL) throws {
try cmd(osa, ["-e", script, editorCmd, dst.absoluteString])
@acidghost acidghost merged commit 5b3cec3 into main Mar 15, 2026
11 checks passed
@acidghost acidghost deleted the feat/ghostty branch March 15, 2026 21:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants