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 = (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 = (props) => { id: string type: "text" text: string - synthetic?: boolean } | { id: string @@ -1314,7 +1325,6 @@ export const PromptInput: Component = (props) => { id: Identifier.ascending("part"), type: "text", text: commentNote(input.path, input.selection, comment), - synthetic: true, }) } @@ -1562,6 +1572,7 @@ export const PromptInput: Component = (props) => {
{(item) => { + const preview = createMemo(() => selectionPreview(item.path, item.selection, item.preview)) return (
= (props) => { {(comment) =>
{comment()}
}
+ + {(content) => ( +
+                          {content()}
+                        
+ )} +
) }}