Skip to content

Commit 7ccca64

Browse files
committed
Parsing string to HTMl and finding out the codeBlockCount
1 parent a8b3984 commit 7ccca64

File tree

1 file changed

+4
-7
lines changed
  • plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/messenger

1 file changed

+4
-7
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/cwc/controller/chat/messenger/ChatPromptHandler.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import software.aws.toolkits.jetbrains.services.cwc.messages.FollowUp
2121
import software.aws.toolkits.jetbrains.services.cwc.messages.RecommendationContentSpan
2222
import software.aws.toolkits.jetbrains.services.cwc.messages.Suggestion
2323
import software.aws.toolkits.jetbrains.services.cwc.storage.ChatSessionInfo
24+
import software.aws.toolkits.jetbrains.utils.convertMarkdownToHTML
2425

2526
class ChatPromptHandler(private val telemetryHelper: TelemetryHelper) {
2627

@@ -32,17 +33,13 @@ class ChatPromptHandler(private val telemetryHelper: TelemetryHelper) {
3233
private var requestId: String = ""
3334
private var statusCode: Int = 0
3435

35-
companion object {
36-
val CODE_BLOCK_REGEX: Regex = Regex("^```", RegexOption.MULTILINE)
37-
}
38-
3936
private fun countTotalNumberOfCodeBlocks(message: StringBuilder): Int {
4037
if (message.isEmpty()) {
4138
return 0
4239
}
43-
val countOfCodeBlocks = CODE_BLOCK_REGEX.findAll(message)
44-
val numberOfTripleBackTicksInMarkdown = countOfCodeBlocks.count()
45-
return numberOfTripleBackTicksInMarkdown / 2
40+
val htmlInString = convertMarkdownToHTML(message.toString())
41+
val patternOfCodeBlock = Regex("<pre><code")
42+
return patternOfCodeBlock.findAll(htmlInString).count()
4643
}
4744

4845
fun handle(

0 commit comments

Comments
 (0)