native macOS codings agent orchestrator
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #111 from supabitapp/feat/issue-109-add-editors

Add IntelliJ and RustRover editor options

authored by

khoi and committed by
GitHub
0ae81a0d b7790a6e

+21 -5
+15 -5
supacode/Domain/OpenWorktreeAction.swift
··· 16 16 case gitkraken 17 17 case gitup 18 18 case ghostty 19 + case intellij 19 20 case kitty 20 21 case pycharm 22 + case rustrover 21 23 case smartgit 22 24 case sourcetree 23 25 case sublimeMerge ··· 44 46 case .gitkraken: "GitKraken" 45 47 case .gitup: "GitUp" 46 48 case .ghostty: "Ghostty" 49 + case .intellij: "IntelliJ IDEA" 47 50 case .kitty: "Kitty" 48 51 case .pycharm: "PyCharm" 52 + case .rustrover: "RustRover" 49 53 case .smartgit: "SmartGit" 50 54 case .sourcetree: "Sourcetree" 51 55 case .sublimeMerge: "Sublime Merge" ··· 67 71 case .finder: "Finder" 68 72 case .editor: "$EDITOR" 69 73 case .alacritty, .antigravity, .cursor, .fork, .githubDesktop, .gitkraken, .gitup, .ghostty, 70 - .kitty, .pycharm, .smartgit, .sourcetree, .sublimeMerge, .terminal, .vscode, .vscodeInsiders, 71 - .warp, .webstorm, .wezterm, .windsurf, .xcode, .zed: 74 + .intellij, .kitty, .pycharm, .rustrover, .smartgit, .sourcetree, .sublimeMerge, .terminal, 75 + .vscode, .vscodeInsiders, .warp, .webstorm, .wezterm, .windsurf, .xcode, .zed: 72 76 title 73 77 } 74 78 } ··· 89 93 case .finder, .editor: 90 94 return true 91 95 case .alacritty, .antigravity, .cursor, .fork, .githubDesktop, .gitkraken, .gitup, .ghostty, 92 - .kitty, .pycharm, .smartgit, .sourcetree, .sublimeMerge, .terminal, .vscode, .vscodeInsiders, 93 - .warp, .webstorm, .wezterm, .windsurf, .xcode, .zed: 96 + .intellij, .kitty, .pycharm, .rustrover, .smartgit, .sourcetree, .sublimeMerge, .terminal, 97 + .vscode, .vscodeInsiders, .warp, .webstorm, .wezterm, .windsurf, .xcode, .zed: 94 98 return NSWorkspace.shared.urlForApplication(withBundleIdentifier: bundleIdentifier) != nil 95 99 } 96 100 } ··· 107 111 case .gitkraken: "gitkraken" 108 112 case .gitup: "gitup" 109 113 case .ghostty: "ghostty" 114 + case .intellij: "intellij" 110 115 case .kitty: "kitty" 111 116 case .pycharm: "pycharm" 117 + case .rustrover: "rustrover" 112 118 case .smartgit: "smartgit" 113 119 case .sourcetree: "sourcetree" 114 120 case .sublimeMerge: "sublime-merge" ··· 136 142 case .gitkraken: "com.axosoft.gitkraken" 137 143 case .gitup: "co.gitup.mac" 138 144 case .ghostty: "com.mitchellh.ghostty" 145 + case .intellij: "com.jetbrains.intellij" 139 146 case .kitty: "net.kovidgoyal.kitty" 140 147 case .pycharm: "com.jetbrains.pycharm" 148 + case .rustrover: "com.jetbrains.rustrover" 141 149 case .smartgit: "com.syntevo.smartgit" 142 150 case .sourcetree: "com.torusknot.SourceTreeNotMAS" 143 151 case .sublimeMerge: "com.sublimemerge" ··· 161 169 .vscode, 162 170 .windsurf, 163 171 .vscodeInsiders, 172 + .intellij, 164 173 .webstorm, 165 174 .pycharm, 175 + .rustrover, 166 176 .antigravity, 167 177 ] 168 178 static let terminalPriority: [OpenWorktreeAction] = [ ··· 237 247 case .finder: 238 248 NSWorkspace.shared.activateFileViewerSelecting([worktree.workingDirectory]) 239 249 // Apps that require CLI arguments instead of Apple Events to open directories. 240 - case .webstorm, .pycharm: 250 + case .intellij, .webstorm, .pycharm, .rustrover: 241 251 guard 242 252 let appURL = NSWorkspace.shared.urlForApplication( 243 253 withBundleIdentifier: bundleIdentifier
+6
supacodeTests/OpenWorktreeActionTests.swift
··· 7 7 let settingsIDs = OpenWorktreeAction.menuOrder.map(\.settingsID) 8 8 9 9 #expect(settingsIDs.contains("antigravity")) 10 + #expect(settingsIDs.contains("intellij")) 11 + #expect(settingsIDs.contains("rustrover")) 10 12 #expect(settingsIDs.contains("vscode-insiders")) 11 13 #expect(settingsIDs.contains("warp")) 12 14 #expect(settingsIDs.contains("webstorm")) ··· 14 16 } 15 17 16 18 @Test func jetBrainsIDEsHaveCorrectBundleIdentifiers() { 19 + #expect(OpenWorktreeAction.intellij.bundleIdentifier == "com.jetbrains.intellij") 17 20 #expect(OpenWorktreeAction.webstorm.bundleIdentifier == "com.jetbrains.WebStorm") 18 21 #expect(OpenWorktreeAction.pycharm.bundleIdentifier == "com.jetbrains.pycharm") 22 + #expect(OpenWorktreeAction.rustrover.bundleIdentifier == "com.jetbrains.rustrover") 19 23 } 20 24 21 25 @Test func jetBrainsIDEsAreInEditorPriority() { 22 26 let editors = OpenWorktreeAction.editorPriority 27 + #expect(editors.contains(.intellij)) 23 28 #expect(editors.contains(.webstorm)) 24 29 #expect(editors.contains(.pycharm)) 30 + #expect(editors.contains(.rustrover)) 25 31 } 26 32 }