diff --git a/packages/opencode/src/tool/grep.ts b/packages/opencode/src/tool/grep.ts index 5390be21a..99af448ba 100644 --- a/packages/opencode/src/tool/grep.ts +++ b/packages/opencode/src/tool/grep.ts @@ -5,6 +5,8 @@ import { Ripgrep } from "../file/ripgrep" import DESCRIPTION from "./grep.txt" import { Instance } from "../project/instance" +const MAX_LINE_LENGTH = 2000 + export const GrepTool = Tool.define("grep", { description: DESCRIPTION, parameters: z.object({ @@ -96,7 +98,9 @@ export const GrepTool = Tool.define("grep", { currentFile = match.path outputLines.push(`${match.path}:`) } - outputLines.push(` Line ${match.lineNum}: ${match.lineText}`) + const truncatedLineText = + match.lineText.length > MAX_LINE_LENGTH ? match.lineText.substring(0, MAX_LINE_LENGTH) + "..." : match.lineText + outputLines.push(` Line ${match.lineNum}: ${truncatedLineText}`) } if (truncated) {