in internal/database/mysql/mysql.go [276:310]
func (h mysqlHandler) mergeComments(existingComment string, newMetadataComment string, updateExistingMode string) string {
startTag := "<gemini>"
endTag := "</gemini>"
startIndex := strings.Index(existingComment, startTag)
endIndex := strings.LastIndex(existingComment, endTag)
comment := ""
if startIndex == -1 || endIndex == -1 || endIndex <= startIndex {
// No Gemini tag found, append new comment with tags
if existingComment != "" {
comment = existingComment + " " + startTag + newMetadataComment + endTag
} else {
comment = startTag + newMetadataComment + endTag // Just add new comment with tags
}
} else if updateExistingMode == "append" {
currentGeminiComment := existingComment[startIndex+len(startTag) : endIndex]
if currentGeminiComment != "" {
comment = existingComment[:endIndex] + " " + newMetadataComment + endTag + existingComment[endIndex+len(endTag):] // Append to existing gemini comment
}
} else {
// Gemini tag found, replace content inside tags
prefix := existingComment[:startIndex]
suffix := existingComment[endIndex+len(endTag):]
comment = prefix + startTag + newMetadataComment + endTag + suffix
}
if comment == "" {
comment = existingComment
}
if comment == "<gemini></gemini>" {
comment = ""
}
return comment
}