Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR adds Xcode as a macOS-only "Open In" option, following the established pattern used by other IDE and terminal entries in Key observations:
Confidence Score: 4/5
|
| Filename | Overview |
|---|---|
| src/shared/openInApps.ts | Adds Xcode to ICON_PATHS and OPEN_IN_APPS; config is structurally correct but Xcode is placed between terminal emulators rather than with the IDE group at the bottom, and the open command passes a raw path where Xcode may not handle arbitrary directories meaningfully. |
| src/assets/images/xcode.png | New Xcode icon asset added as a PNG; binary file, no code issues. |
Sequence Diagram
sequenceDiagram
participant User
participant App as emdash UI
participant OS as macOS
participant Xcode
User->>App: Click "Open in Xcode"
App->>OS: open -b com.apple.dt.Xcode {{path}}
alt Xcode found by bundle ID
OS->>Xcode: Launch / bring to front with path
Xcode-->>User: Opens file/project
else Bundle ID not found, fallback
App->>OS: open -a "Xcode" {{path}}
OS->>Xcode: Launch by app name with path
Xcode-->>User: Opens file/project
end
note over App,OS: hideIfUnavailable=true hides button<br/>when bundleId com.apple.dt.Xcode<br/>is not detected on the system
Last reviewed commit: e7968b7
| id: 'xcode', | ||
| label: 'Xcode', | ||
| iconPath: ICON_PATHS.xcode, | ||
| hideIfUnavailable: true, | ||
| platforms: { | ||
| darwin: { | ||
| openCommands: ['open -b com.apple.dt.Xcode {{path}}', 'open -a "Xcode" {{path}}'], | ||
| bundleIds: ['com.apple.dt.Xcode'], | ||
| appNames: ['Xcode'], | ||
| }, | ||
| }, | ||
| }, |
There was a problem hiding this comment.
Xcode placed in the terminal emulator group
The Xcode entry is inserted between terminal and warp, grouping it with terminal emulators (Warp, iTerm2, Ghostty). Xcode is an IDE, and all other IDEs in this file (IntelliJ IDEA, WebStorm, PyCharm, RustRover, Android Studio) are consistently grouped at the bottom of the list. Moving the entry there would keep the logical ordering intact for users browsing the "Open In" list.
| id: 'xcode', | |
| label: 'Xcode', | |
| iconPath: ICON_PATHS.xcode, | |
| hideIfUnavailable: true, | |
| platforms: { | |
| darwin: { | |
| openCommands: ['open -b com.apple.dt.Xcode {{path}}', 'open -a "Xcode" {{path}}'], | |
| bundleIds: ['com.apple.dt.Xcode'], | |
| appNames: ['Xcode'], | |
| }, | |
| }, | |
| }, | |
| { | |
| id: 'xcode', | |
| label: 'Xcode', | |
| iconPath: ICON_PATHS.xcode, | |
| hideIfUnavailable: true, | |
| platforms: { | |
| darwin: { | |
| openCommands: ['open -b com.apple.dt.Xcode {{path}}', 'open -a "Xcode" {{path}}'], | |
| bundleIds: ['com.apple.dt.Xcode'], | |
| appNames: ['Xcode'], | |
| }, | |
| }, | |
| }, |
(Place this block just before the intellij-idea entry rather than after terminal.)
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
com.apple.dt.Xcodefor detection and launchinghideIfUnavailable: true)Details
xcode.pngicon toICON_PATHSopen -b(by bundle ID) andopen -a(by app name) as fallback