Commit 398efe28 authored by Oleg Taratukhin's avatar Oleg Taratukhin Committed by intellij-monorepo-bot
Browse files

[ai-completion] ML-3308 reuse the same context for copying and displaying

GitOrigin-RevId: 27de929c8dc5d1c5e9d137652debab88b4acd992
parent 9592d397
Showing with 22 additions and 11 deletions
+22 -11
...@@ -181,21 +181,32 @@ function addContexts(sessionDiv, popup, lookup) { ...@@ -181,21 +181,32 @@ function addContexts(sessionDiv, popup, lookup) {
sessionDiv.classList.remove("features", "suggestions") sessionDiv.classList.remove("features", "suggestions")
if (!("cc_context" in lookup["additionalInfo"])) return if (!("cc_context" in lookup["additionalInfo"])) return
maybeAddButtonToCopyCompletionContext(sessionDiv, popup, lookup)
let addInfo = lookup["additionalInfo"] const contextJson = lookup["additionalInfo"]["cc_context"]
let contextBlock = document.createElement("DIV") maybeAddButtonToCopyCompletionContext(contextJson, sessionDiv, popup, lookup)
const contextObject = JSON.parse(contextJson)
contextObject.contexts.items.forEach(context => {
popup.appendChild(createContextBlock(context))
})
}
function createContextBlock(context) {
const contextBlock = document.createElement("DIV");
contextBlock.style.whiteSpace = "inherit" contextBlock.style.whiteSpace = "inherit"
let code = document.createElement("code") const codeElement = createCodeElement(context)
code.innerHTML = addInfo["cc_context"] contextBlock.appendChild(codeElement)
contextBlock.appendChild(code) return contextBlock
}
function createCodeElement(context) {
const code = document.createElement("code")
code.innerHTML = `<b>File: ${context.filetype}</b><br><b>Type: ${context.type}</b><br><pre>${context.content}</pre>`
code.style.whiteSpace = "inherit" code.style.whiteSpace = "inherit"
popup.appendChild(contextBlock) return code
} }
function maybeAddButtonToCopyCompletionContext(sessionDiv, popup, lookup) { function maybeAddButtonToCopyCompletionContext(context, sessionDiv, popup, lookup) {
if (!("cc_request_json" in lookup["additionalInfo"])) return
let contextAsJson = lookup["additionalInfo"]["cc_request_json"]
let buttonDiv = document.createElement("DIV") let buttonDiv = document.createElement("DIV")
let button = document.createElement("BUTTON") let button = document.createElement("BUTTON")
button.textContent = "Copy Context" button.textContent = "Copy Context"
...@@ -203,7 +214,7 @@ function maybeAddButtonToCopyCompletionContext(sessionDiv, popup, lookup) { ...@@ -203,7 +214,7 @@ function maybeAddButtonToCopyCompletionContext(sessionDiv, popup, lookup) {
popup.appendChild(buttonDiv) popup.appendChild(buttonDiv)
button.addEventListener("click", async function () { button.addEventListener("click", async function () {
await navigator.clipboard.writeText(contextAsJson) await navigator.clipboard.writeText(context)
}) })
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment