diff --git a/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts b/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts index 1c28a281765..b0b10e9d104 100644 --- a/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts +++ b/packages/core/src/codewhispererChat/controllers/chat/messenger/messenger.ts @@ -31,6 +31,7 @@ import { FeatureAuthState } from '../../../../codewhisperer/util/authUtil' import { AuthFollowUpType, expiredText, enableQText, reauthenticateText } from '../../../../amazonq/auth/model' import { userGuideURL } from '../../../../amazonq/webview/ui/texts/constants' import { marked } from 'marked' +import { JSDOM } from 'jsdom' export type StaticTextResponseType = 'quick-action-help' | 'onboarding-help' | 'transform' | 'help' @@ -95,13 +96,16 @@ export class Messenger { return 0 } - // To Convert Markdown text to HTML using marked library + // // To Convert Markdown text to HTML using marked library const html = await marked(message) - // Count the number of
tags in the HTML to find the total number of code blocks - const totalNumberOfCodeBlocks = (html.match(//g) || []).length + const dom = new JSDOM(html) + const document = dom.window.document - return totalNumberOfCodeBlocks + // Search forelements containingelements + const codeBlocks = document.querySelectorAll('pre > code') + + return codeBlocks.length } public async sendAIResponse(