From 89e371c94b8e231b0296cf9f614ef7130d871517 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Mon, 8 Jun 2026 13:41:54 +0000 Subject: [PATCH] chore: generate --- packages/core/src/filesystem/search.ts | 5 +- .../src/cli/cmd/run/footer.prompt.tsx | 65 +++++++++---------- 2 files changed, 31 insertions(+), 39 deletions(-) diff --git a/packages/core/src/filesystem/search.ts b/packages/core/src/filesystem/search.ts index d05f65c87..49ff8385f 100644 --- a/packages/core/src/filesystem/search.ts +++ b/packages/core/src/filesystem/search.ts @@ -133,10 +133,7 @@ function item(hit: Fff.Hit): Item { } } -function collectPaths( - items: T[], - toPath: (item: T) => string, -): string[] { +function collectPaths(items: T[], toPath: (item: T) => string): string[] { return Array.from( new Set( items.flatMap((item): string[] => { diff --git a/packages/opencode/src/cli/cmd/run/footer.prompt.tsx b/packages/opencode/src/cli/cmd/run/footer.prompt.tsx index 4651d4836..8fe9c3418 100644 --- a/packages/opencode/src/cli/cmd/run/footer.prompt.tsx +++ b/packages/opencode/src/cli/cmd/run/footer.prompt.tsx @@ -367,40 +367,39 @@ export function createPromptState(input: PromptInput): PromptState { const next = extractLineRange(value) const list = await input.findFiles(next.base) - return list - .map((item): Auto => { - const url = pathToFileURL(path.resolve(input.directory, item)) - let filename = item - if (next.line && !item.endsWith("/")) { - filename = `${item}#${next.line.start}${next.line.end ? `-${next.line.end}` : ""}` - url.searchParams.set("start", String(next.line.start)) - if (next.line.end !== undefined) { - url.searchParams.set("end", String(next.line.end)) - } + return list.map((item): Auto => { + const url = pathToFileURL(path.resolve(input.directory, item)) + let filename = item + if (next.line && !item.endsWith("/")) { + filename = `${item}#${next.line.start}${next.line.end ? `-${next.line.end}` : ""}` + url.searchParams.set("start", String(next.line.start)) + if (next.line.end !== undefined) { + url.searchParams.set("end", String(next.line.end)) } + } - return { - kind: "mention", - display: Locale.truncateMiddle("@" + filename, width()), - value: filename, - directory: item.endsWith("/"), - part: { + return { + kind: "mention", + display: Locale.truncateMiddle("@" + filename, width()), + value: filename, + directory: item.endsWith("/"), + part: { + type: "file", + mime: item.endsWith("/") ? "application/x-directory" : "text/plain", + filename, + url: url.href, + source: { type: "file", - mime: item.endsWith("/") ? "application/x-directory" : "text/plain", - filename, - url: url.href, - source: { - type: "file", - path: item, - text: { - start: 0, - end: 0, - value: "", - }, + path: item, + text: { + start: 0, + end: 0, + value: "", }, }, - } - }) + }, + } + }) }, { initialValue: [] as Auto[] }, ) @@ -462,13 +461,9 @@ export function createPromptState(input: PromptInput): PromptState { const next = removeLineRange(query()) if (mode() === "mention") { return [ - ...fuzzysort - .go(next, agents(), { keys: ["value", "display", "description"] }) - .map((item) => item.obj), + ...fuzzysort.go(next, agents(), { keys: ["value", "display", "description"] }).map((item) => item.obj), ...files(), - ...fuzzysort - .go(next, resources(), { keys: ["value", "display", "description"] }) - .map((item) => item.obj), + ...fuzzysort.go(next, resources(), { keys: ["value", "display", "description"] }).map((item) => item.obj), ] }