mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-19 16:54:22 +01:00
Added copy option to message context menu (#4389)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com> Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
committed by
GitHub
parent
8ba48ed71d
commit
832be6e7eb
@@ -3,6 +3,7 @@ import { useSync } from "@tui/context/sync"
|
|||||||
import { DialogSelect } from "@tui/ui/dialog-select"
|
import { DialogSelect } from "@tui/ui/dialog-select"
|
||||||
import { useSDK } from "@tui/context/sdk"
|
import { useSDK } from "@tui/context/sdk"
|
||||||
import { useRoute } from "@tui/context/route"
|
import { useRoute } from "@tui/context/route"
|
||||||
|
import { Clipboard } from "@tui/util/clipboard"
|
||||||
import type { PromptInfo } from "@tui/component/prompt/history"
|
import type { PromptInfo } from "@tui/component/prompt/history"
|
||||||
|
|
||||||
export function DialogMessage(props: {
|
export function DialogMessage(props: {
|
||||||
@@ -54,6 +55,26 @@ export function DialogMessage(props: {
|
|||||||
dialog.clear()
|
dialog.clear()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "Copy",
|
||||||
|
value: "message.copy",
|
||||||
|
description: "copy message text to clipboard",
|
||||||
|
onSelect: async (dialog) => {
|
||||||
|
const msg = message()
|
||||||
|
if (!msg) return
|
||||||
|
|
||||||
|
const parts = sync.data.part[msg.id]
|
||||||
|
const text = parts.reduce((agg, part) => {
|
||||||
|
if (part.type === "text" && !part.synthetic) {
|
||||||
|
agg += part.text
|
||||||
|
}
|
||||||
|
return agg
|
||||||
|
}, "")
|
||||||
|
|
||||||
|
await Clipboard.copy(text)
|
||||||
|
dialog.clear()
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Fork",
|
title: "Fork",
|
||||||
value: "session.fork",
|
value: "session.fork",
|
||||||
|
|||||||
@@ -24,4 +24,4 @@
|
|||||||
"typescript": "catalog:",
|
"typescript": "catalog:",
|
||||||
"@typescript/native-preview": "catalog:"
|
"@typescript/native-preview": "catalog:"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,4 +26,4 @@
|
|||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"directory": "dist"
|
"directory": "dist"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user