Skip to content

Commit 777f04e

Browse files
authored
fix: @workspace command (#11)
* fix: @workspace command * remove first instance of workspace from message
1 parent b7aad87 commit 777f04e

File tree

1 file changed

+12
-8
lines changed
  • packages/core/src/codewhispererChat/controllers/chat

1 file changed

+12
-8
lines changed

packages/core/src/codewhispererChat/controllers/chat/controller.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,7 @@ export class ChatController {
570570
}
571571
}
572572
private async processFileClickMessage(message: FileClick) {
573-
let session = this.sessionStorage.getSession(message.tabID)
573+
const session = this.sessionStorage.getSession(message.tabID)
574574
// TODO remove currentContextId but use messageID to track context for each answer message
575575
const lineRanges = session.contexts.get(session.currentContextId)?.get(message.filePath)
576576

@@ -915,9 +915,11 @@ export class ChatController {
915915
// TODO: resolve the context into real context up to 90k
916916
triggerPayload.useRelevantDocuments = false
917917
if (triggerPayload.message) {
918-
triggerPayload.useRelevantDocuments = triggerPayload.message.includes(`@workspace`)
918+
triggerPayload.useRelevantDocuments = triggerPayload.context?.some(
919+
(context) => typeof context !== 'string' && context.command === '@workspace'
920+
)
919921
if (triggerPayload.useRelevantDocuments) {
920-
triggerPayload.message = triggerPayload.message.replace(/@workspace/g, '')
922+
triggerPayload.message = triggerPayload.message.replace(/workspace/, '')
921923
if (CodeWhispererSettings.instance.isLocalIndexEnabled()) {
922924
const start = performance.now()
923925
triggerPayload.relevantTextDocuments = await LspController.instance.query(triggerPayload.message)
@@ -960,12 +962,14 @@ export class ChatController {
960962

961963
session.currentContextId++
962964
session.contexts.set(session.currentContextId, new Map())
963-
triggerPayload.mergedRelevantDocuments?.forEach((doc) => {
964-
const currentContext = session.contexts.get(session.currentContextId)
965-
if (currentContext) {
966-
currentContext.set(doc.relativeFilePath, doc.lineRanges)
965+
if (triggerPayload.mergedRelevantDocuments) {
966+
for (const doc of triggerPayload.mergedRelevantDocuments) {
967+
const currentContext = session.contexts.get(session.currentContextId)
968+
if (currentContext) {
969+
currentContext.set(doc.relativeFilePath, doc.lineRanges)
970+
}
967971
}
968-
})
972+
}
969973

970974
getLogger().info(
971975
`request from tab: ${tabID} conversationID: ${session.sessionIdentifier} request: ${inspect(request, {

0 commit comments

Comments
 (0)