Skip to content

feat(open-in): ✨ add Ghostty terminal detection on macOS - #161

Merged
jorben merged 2 commits into
masterfrom
feat/openin-ghostty-support
Apr 30, 2026
Merged

feat(open-in): ✨ add Ghostty terminal detection on macOS#161
jorben merged 2 commits into
masterfrom
feat/openin-ghostty-support

Conversation

@HayWolf

@HayWolf HayWolf commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

Summary

为 macOS 平台的「在外部应用中打开」列表增加 Ghostty 终端检测与支持。

Changes

后端 (Rust)

  • src-tauri/src/commands/system.rs: 在 WORKSPACE_OPEN_APP_SPECS 中新增 Ghostty 条目(Ghostty.app),优先查找 /Applications/Ghostty.app
  • 将 Ghostty 加入树形路径打开行为匹配,打开文件时启动到所在文件夹

前端 (TypeScript)

  • src/modules/workbench-shell/ui/project-panel.tsx: 新增 Ghostty 图标回退(蓝色渐变,标签 G)

Test Plan

  • macOS 上安装 Ghostty 后,project panel 的 open in 列表中出现 Ghostty
  • 点击 Ghostty 后在该终端中打开当前目录/文件所在目录
  • 未安装 Ghostty 时不显示

🤖 Generated with TiyCode

@github-actions

Copy link
Copy Markdown

AI Code Review Summary

PR: #161 (feat(open-in): ✨ add Ghostty terminal detection on macOS)
Preferred language: English

Overall Assessment

No blocking issue was detected in the reviewed diff; keep focused regression testing before merge.

Major Findings by Severity

No major issues identified from the reviewed diff.

Actionable Suggestions

  • Align the ghostty fallback label with the multi-letter convention used by other entries (e.g., 'GH' instead of 'G').

Potential Risks

  • Potential hidden risks remain in edge cases not covered by the current diff context.

Test Suggestions

  • Consider adding a unit test that validates all entries in APP_ICON_FALLBACKS follow the label convention (e.g., labels are non-empty and follow expected length).

File-Level Coverage Notes

  • src-tauri/src/commands/system.rs: No issues. The addition is well-formed and follows the existing patterns for adding a macOS terminal application.
  • src/modules/workbench-shell/ui/project-panel.tsx: The change is functionally correct and adds expected support for the ghostty terminal type. The only minor concern is the single-letter label inconsistency, which does not affect behavior. (Consider adding a unit test for APP_ICON_FALLBACKS to verify all keys have multi-letter labels if the convention is important.)

Inline Downgraded Items (processed but not inline)

  • None

Coverage Status

  • Target files: 2
  • Covered files: 2
  • Uncovered files: 0
  • No-patch/binary covered as file-level: 0
  • Findings with unknown confidence (N/A): 0

Uncovered list:

  • None

No-patch covered list:

  • None

Runtime/Budget

  • Rounds used: 1/4
  • Planned batches: 2
  • Executed batches: 2
  • Sub-agent runs: 2
  • Planner calls: 1
  • Reviewer calls: 2
  • Model calls: 3/64
  • Structured-output summary-only degradation: NO

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Automated PR review completed.

  • Findings kept: 0
  • Findings with unknown confidence: 0
  • Inline comments attempted: 1
  • Target files: 2
  • Covered files: 2
  • Uncovered files: 0
    See the summary comment for detailed analysis and coverage details.

@@ -175,7 +175,7 @@ struct WorkspaceOpenAppSpec {
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Automated review completed for this PR diff. No concrete inline issue was selected after aggregation.

@jorben
jorben merged commit f52442d into master Apr 30, 2026
5 checks passed
@jorben
jorben deleted the feat/openin-ghostty-support branch April 30, 2026 16: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