native macOS codings agent orchestrator
6
fork

Configure Feed

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

Add RubyMine editor support (#248)

Co-authored-by: khoi <6994441+khoi@users.noreply.github.com>

authored by

Petr Hlavicka
khoi
and committed by
GitHub
a763ac18 302de239

+15 -5
+11 -4
SupacodeSettingsShared/Domain/OpenWorktreeAction.swift
··· 19 19 case intellij 20 20 case kitty 21 21 case pycharm 22 + case rubymine 22 23 case rustrover 23 24 case smartgit 24 25 case sourcetree ··· 50 51 case .intellij: "IntelliJ IDEA" 51 52 case .kitty: "Kitty" 52 53 case .pycharm: "PyCharm" 54 + case .rubymine: "RubyMine" 53 55 case .rustrover: "RustRover" 54 56 case .smartgit: "SmartGit" 55 57 case .sourcetree: "Sourcetree" ··· 73 75 case .finder: "Finder" 74 76 case .editor: "$EDITOR" 75 77 case .alacritty, .antigravity, .cursor, .fork, .githubDesktop, .gitkraken, .gitup, .ghostty, 76 - .intellij, .kitty, .pycharm, .rustrover, .smartgit, .sourcetree, .sublimeMerge, .terminal, 77 - .vscode, .vscodeInsiders, .vscodium, .warp, .webstorm, .wezterm, .windsurf, .xcode, .zed: 78 + .intellij, .kitty, .pycharm, .rubymine, .rustrover, .smartgit, .sourcetree, .sublimeMerge, 79 + .terminal, .vscode, .vscodeInsiders, .vscodium, .warp, .webstorm, .wezterm, .windsurf, 80 + .xcode, .zed: 78 81 title 79 82 } 80 83 } ··· 95 98 case .finder, .editor: 96 99 return true 97 100 case .alacritty, .antigravity, .cursor, .fork, .githubDesktop, .gitkraken, .gitup, .ghostty, 98 - .intellij, .kitty, .pycharm, .rustrover, .smartgit, .sourcetree, .sublimeMerge, .terminal, 99 - .vscode, .vscodeInsiders, .vscodium, .warp, .webstorm, .wezterm, .windsurf, .xcode, .zed: 101 + .intellij, .kitty, .pycharm, .rubymine, .rustrover, .smartgit, .sourcetree, .sublimeMerge, 102 + .terminal, .vscode, .vscodeInsiders, .vscodium, .warp, .webstorm, .wezterm, .windsurf, 103 + .xcode, .zed: 100 104 return NSWorkspace.shared.urlForApplication(withBundleIdentifier: bundleIdentifier) != nil 101 105 } 102 106 } ··· 116 120 case .intellij: "intellij" 117 121 case .kitty: "kitty" 118 122 case .pycharm: "pycharm" 123 + case .rubymine: "rubymine" 119 124 case .rustrover: "rustrover" 120 125 case .smartgit: "smartgit" 121 126 case .sourcetree: "sourcetree" ··· 148 153 case .intellij: "com.jetbrains.intellij" 149 154 case .kitty: "net.kovidgoyal.kitty" 150 155 case .pycharm: "com.jetbrains.pycharm" 156 + case .rubymine: "com.jetbrains.rubymine" 151 157 case .rustrover: "com.jetbrains.rustrover" 152 158 case .smartgit: "com.syntevo.smartgit" 153 159 case .sourcetree: "com.torusknot.SourceTreeNotMAS" ··· 177 183 .intellij, 178 184 .webstorm, 179 185 .pycharm, 186 + .rubymine, 180 187 .rustrover, 181 188 .antigravity, 182 189 ]
+1 -1
supacode/Clients/Workspace/WorkspaceClient.swift
··· 37 37 return 38 38 case .finder: 39 39 NSWorkspace.shared.activateFileViewerSelecting([worktree.workingDirectory]) 40 - case .intellij, .webstorm, .pycharm, .rustrover: 40 + case .intellij, .webstorm, .pycharm, .rubymine, .rustrover: 41 41 guard let appURL = NSWorkspace.shared.urlForApplication(withBundleIdentifier: action.bundleIdentifier) else { 42 42 onError( 43 43 OpenActionError(
+3
supacodeTests/OpenWorktreeActionTests.swift
··· 9 9 10 10 #expect(settingsIDs.contains("antigravity")) 11 11 #expect(settingsIDs.contains("intellij")) 12 + #expect(settingsIDs.contains("rubymine")) 12 13 #expect(settingsIDs.contains("rustrover")) 13 14 #expect(settingsIDs.contains("vscode-insiders")) 14 15 #expect(settingsIDs.contains("warp")) ··· 20 21 #expect(OpenWorktreeAction.intellij.bundleIdentifier == "com.jetbrains.intellij") 21 22 #expect(OpenWorktreeAction.webstorm.bundleIdentifier == "com.jetbrains.WebStorm") 22 23 #expect(OpenWorktreeAction.pycharm.bundleIdentifier == "com.jetbrains.pycharm") 24 + #expect(OpenWorktreeAction.rubymine.bundleIdentifier == "com.jetbrains.rubymine") 23 25 #expect(OpenWorktreeAction.rustrover.bundleIdentifier == "com.jetbrains.rustrover") 24 26 } 25 27 ··· 28 30 #expect(editors.contains(.intellij)) 29 31 #expect(editors.contains(.webstorm)) 30 32 #expect(editors.contains(.pycharm)) 33 + #expect(editors.contains(.rubymine)) 31 34 #expect(editors.contains(.rustrover)) 32 35 } 33 36 }