@@ -35,14 +35,13 @@ type GlobToolRenderContext struct{}
36// RenderTool implements the [ToolRenderer] interface.
36// RenderTool implements the [ToolRenderer] interface.
37func (g *GlobToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
37func (g *GlobToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
38− cappedWidth := cappedMessageWidth(width)
39 if opts.IsPending() {
38 if opts.IsPending() {
40 return pendingTool(sty, "Glob", opts.Anim)
39 return pendingTool(sty, "Glob", opts.Anim)
43 var params tools.GlobParams
42 var params tools.GlobParams
44 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
43 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
45− return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, cappedWidth)
44+ return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, width)
48 toolParams := []string{params.Pattern}
47 toolParams := []string{params.Pattern}
@@ -50,12 +49,12 @@ func (g *GlobToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *
50 toolParams = append(toolParams, "path", params.Path)
49 toolParams = append(toolParams, "path", params.Path)
53− header := toolHeader(sty, opts.Status, "Glob", cappedWidth, opts.Compact, toolParams...)
52+ header := toolHeader(sty, opts.Status, "Glob", width, opts.Compact, toolParams...)
54 if opts.Compact {
53 if opts.Compact {
55 return header
54 return header
58− if earlyState, ok := toolEarlyStateContent(sty, opts, cappedWidth); ok {
57+ if earlyState, ok := toolEarlyStateContent(sty, opts, width); ok {
59 return joinToolParts(header, earlyState)
58 return joinToolParts(header, earlyState)
@@ -63,7 +62,7 @@ func (g *GlobToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *
63 return header
62 return header
66− bodyWidth := cappedWidth - toolBodyLeftPaddingTotal
65+ bodyWidth := width - toolBodyLeftPaddingTotal
67 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
66 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
68 return joinToolParts(header, body)
67 return joinToolParts(header, body)
@@ -94,14 +93,13 @@ type GrepToolRenderContext struct{}
95// RenderTool implements the [ToolRenderer] interface.
94// RenderTool implements the [ToolRenderer] interface.
96func (g *GrepToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
95func (g *GrepToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
97− cappedWidth := cappedMessageWidth(width)
98 if opts.IsPending() {
96 if opts.IsPending() {
99 return pendingTool(sty, "Grep", opts.Anim)
97 return pendingTool(sty, "Grep", opts.Anim)
102 var params tools.GrepParams
100 var params tools.GrepParams
103 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
101 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
104− return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, cappedWidth)
102+ return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, width)
107 toolParams := []string{params.Pattern}
105 toolParams := []string{params.Pattern}
@@ -115,12 +113,12 @@ func (g *GrepToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *
115 toolParams = append(toolParams, "literal", "true")
113 toolParams = append(toolParams, "literal", "true")
118− header := toolHeader(sty, opts.Status, "Grep", cappedWidth, opts.Compact, toolParams...)
116+ header := toolHeader(sty, opts.Status, "Grep", width, opts.Compact, toolParams...)
119 if opts.Compact {
117 if opts.Compact {
120 return header
118 return header
123− if earlyState, ok := toolEarlyStateContent(sty, opts, cappedWidth); ok {
121+ if earlyState, ok := toolEarlyStateContent(sty, opts, width); ok {
124 return joinToolParts(header, earlyState)
122 return joinToolParts(header, earlyState)
@@ -128,7 +126,7 @@ func (g *GrepToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *
128 return header
126 return header
131− bodyWidth := cappedWidth - toolBodyLeftPaddingTotal
129+ bodyWidth := width - toolBodyLeftPaddingTotal
132 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
130 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
133 return joinToolParts(header, body)
131 return joinToolParts(header, body)
@@ -159,14 +157,13 @@ type LSToolRenderContext struct{}
160// RenderTool implements the [ToolRenderer] interface.
158// RenderTool implements the [ToolRenderer] interface.
161func (l *LSToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
159func (l *LSToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
162− cappedWidth := cappedMessageWidth(width)
163 if opts.IsPending() {
160 if opts.IsPending() {
164 return pendingTool(sty, "List", opts.Anim)
161 return pendingTool(sty, "List", opts.Anim)
167 var params tools.LSParams
164 var params tools.LSParams
168 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
165 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
169− return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, cappedWidth)
166+ return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, width)
172 path := params.Path
169 path := params.Path
@@ -175,12 +172,12 @@ func (l *LSToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *To
176 path = fsext.PrettyPath(path)
173 path = fsext.PrettyPath(path)
178− header := toolHeader(sty, opts.Status, "List", cappedWidth, opts.Compact, path)
175+ header := toolHeader(sty, opts.Status, "List", width, opts.Compact, path)
179 if opts.Compact {
176 if opts.Compact {
180 return header
177 return header
183− if earlyState, ok := toolEarlyStateContent(sty, opts, cappedWidth); ok {
180+ if earlyState, ok := toolEarlyStateContent(sty, opts, width); ok {
184 return joinToolParts(header, earlyState)
181 return joinToolParts(header, earlyState)
@@ -188,7 +185,7 @@ func (l *LSToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *To
188 return header
185 return header
191− bodyWidth := cappedWidth - toolBodyLeftPaddingTotal
188+ bodyWidth := width - toolBodyLeftPaddingTotal
192 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
189 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
193 return joinToolParts(header, body)
190 return joinToolParts(header, body)
@@ -219,14 +216,13 @@ type SourcegraphToolRenderContext struct{}
220// RenderTool implements the [ToolRenderer] interface.
217// RenderTool implements the [ToolRenderer] interface.
221func (s *SourcegraphToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
218func (s *SourcegraphToolRenderContext) RenderTool(sty *styles.Styles, width int, opts *ToolRenderOpts) string {
222− cappedWidth := cappedMessageWidth(width)
223 if opts.IsPending() {
219 if opts.IsPending() {
224 return pendingTool(sty, "Sourcegraph", opts.Anim)
220 return pendingTool(sty, "Sourcegraph", opts.Anim)
227 var params tools.SourcegraphParams
223 var params tools.SourcegraphParams
228 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
224 if err := json.Unmarshal([]byte(opts.ToolCall.Input), ¶ms); err != nil {
229− return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, cappedWidth)
225+ return toolErrorContent(sty, &message.ToolResult{Content: "Invalid parameters"}, width)
232 toolParams := []string{params.Query}
228 toolParams := []string{params.Query}
@@ -237,12 +233,12 @@ func (s *SourcegraphToolRenderContext) RenderTool(sty *styles.Styles, width int,
237 toolParams = append(toolParams, "context", formatNonZero(params.ContextWindow))
233 toolParams = append(toolParams, "context", formatNonZero(params.ContextWindow))
240− header := toolHeader(sty, opts.Status, "Sourcegraph", cappedWidth, opts.Compact, toolParams...)
236+ header := toolHeader(sty, opts.Status, "Sourcegraph", width, opts.Compact, toolParams...)
241 if opts.Compact {
237 if opts.Compact {
242 return header
238 return header
245− if earlyState, ok := toolEarlyStateContent(sty, opts, cappedWidth); ok {
241+ if earlyState, ok := toolEarlyStateContent(sty, opts, width); ok {
246 return joinToolParts(header, earlyState)
242 return joinToolParts(header, earlyState)
@@ -250,7 +246,7 @@ func (s *SourcegraphToolRenderContext) RenderTool(sty *styles.Styles, width int,
250 return header
246 return header
253− bodyWidth := cappedWidth - toolBodyLeftPaddingTotal
249+ bodyWidth := width - toolBodyLeftPaddingTotal
254 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
250 body := sty.Tool.Body.Render(toolOutputPlainContent(sty, opts.Result.Content, bodyWidth, opts.ExpandedContent))
255 return joinToolParts(header, body)
251 return joinToolParts(header, body)