Skip to content

Commit 1b149a4

Browse files
committed
Update open chat command handler
1 parent f51079a commit 1b149a4

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

Core/Sources/Service/SuggestionCommandHandler/PseudoCommandHandler.swift

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ struct PseudoCommandHandler: CommandHandler {
342342
switch UserDefaults.shared.value(for: \.openChatMode) {
343343
case .chatPanel:
344344
for ext in BuiltinExtensionManager.shared.extensions {
345-
guard let tab = ext.chatTabTypes.first(where: { $0.isDefaultChatTabReplacement } )
345+
guard let tab = ext.chatTabTypes.first(where: { $0.isDefaultChatTabReplacement })
346346
else { continue }
347347
Task { @MainActor in
348348
let store = Service.shared.guiController.store
@@ -433,7 +433,24 @@ struct PseudoCommandHandler: CommandHandler {
433433
))
434434
}
435435
case let .externalExtension(extensionIdentifier, tabName):
436-
return
436+
guard let ext = BuiltinExtensionManager.shared.extensions
437+
.first(where: { $0.extensionIdentifier == "plus" }),
438+
let tab = ext.chatTabTypes
439+
.first(where: { $0.name == "\(extensionIdentifier).\(tabName)" })
440+
else { return }
441+
Task { @MainActor in
442+
let store = Service.shared.guiController.store
443+
await store.send(
444+
.createAndSwitchToChatTabIfNeededMatching(
445+
check: { $0.name == "\(extensionIdentifier).\(tabName)" },
446+
kind: .init(tab.defaultChatBuilder())
447+
)
448+
).finish()
449+
store.send(.openChatPanel(
450+
forceDetach: forceDetach,
451+
activateThisApp: activateThisApp
452+
))
453+
}
437454
}
438455
}
439456

0 commit comments

Comments
 (0)