summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-01-23 04:58:41 -0600
committerAdam <[email protected]>2026-01-23 04:58:41 -0600
commitdf7b6792cdfb8988c62e3d2ed8e8d8b702bb2bba (patch)
tree6f1ddd619e7ccef17a54e0802accac22906fed36
parentc72d9a473c2b88b7acf967ac9ef7f2a707af3bec (diff)
downloadopencode-df7b6792cdfb8988c62e3d2ed8e8d8b702bb2bba.tar.gz
opencode-df7b6792cdfb8988c62e3d2ed8e8d8b702bb2bba.zip
Revert "wip(app): line selection"
This reverts commit 1780bab1ce609d2cfcb690ba77bce420be5a94f1.
-rw-r--r--packages/app/src/components/prompt-input.tsx22
1 files changed, 20 insertions, 2 deletions
diff --git a/packages/app/src/components/prompt-input.tsx b/packages/app/src/components/prompt-input.tsx
index 72bc927fa..24a96d1b4 100644
--- a/packages/app/src/components/prompt-input.tsx
+++ b/packages/app/src/components/prompt-input.tsx
@@ -162,6 +162,18 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
const tabs = createMemo(() => layout.tabs(sessionKey()))
const view = createMemo(() => layout.view(sessionKey()))
+ const selectionPreview = (path: string, selection: FileSelection | undefined, preview: string | undefined) => {
+ if (preview) return preview
+ if (!selection) return undefined
+ const content = files.get(path)?.content?.content
+ if (!content) return undefined
+ const start = Math.max(1, Math.min(selection.startLine, selection.endLine))
+ const end = Math.max(selection.startLine, selection.endLine)
+ const lines = content.split("\n").slice(start - 1, end)
+ if (lines.length === 0) return undefined
+ return lines.slice(0, 2).join("\n")
+ }
+
const recent = createMemo(() => {
const all = tabs().all()
const active = tabs().active()
@@ -1276,7 +1288,6 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
id: string
type: "text"
text: string
- synthetic?: boolean
}
| {
id: string
@@ -1314,7 +1325,6 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
id: Identifier.ascending("part"),
type: "text",
text: commentNote(input.path, input.selection, comment),
- synthetic: true,
})
}
@@ -1562,6 +1572,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
<div class="flex flex-nowrap items-start gap-1.5 px-3 pt-3 overflow-x-auto no-scrollbar">
<For each={prompt.context.items()}>
{(item) => {
+ const preview = createMemo(() => selectionPreview(item.path, item.selection, item.preview))
return (
<div
classList={{
@@ -1606,6 +1617,13 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
<Show when={item.comment}>
{(comment) => <div class="text-11-regular text-text-strong">{comment()}</div>}
</Show>
+ <Show when={preview()}>
+ {(content) => (
+ <pre class="text-10-regular text-text-weak font-mono whitespace-pre-wrap leading-4">
+ {content()}
+ </pre>
+ )}
+ </Show>
</div>
)
}}