From 8a9000b6bd23f0451f953282c5c59a91add8c0c8 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Wed, 4 Mar 2026 18:33:12 -0300 Subject: [PATCH] ci: update golangci-lint to v2.10 and fix new issues (#2355) --- .github/workflows/lint.yml | 2 +- internal/agent/tools/references.go | 6 +++--- internal/agent/tools/search.go | 8 ++++---- internal/agent/tools/sourcegraph.go | 16 ++++++++-------- internal/agent/tools/web_fetch.go | 6 +++--- internal/ui/chat/tools.go | 4 ++-- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d71849463f72b5e286aff46c42260d30322b06a1..9dc35a022bba53d4acf330b293d4ed42e8e735d5 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,5 +8,5 @@ jobs: uses: charmbracelet/meta/.github/workflows/lint.yml@main with: golangci_path: .golangci.yml - golangci_version: v2.9 + golangci_version: v2.10 timeout: 10m diff --git a/internal/agent/tools/references.go b/internal/agent/tools/references.go index e8547264e6725a9062bf767e42f842595a2638dd..aef683eb9dfee44b92e96cd3cb88b8654eb03b2a 100644 --- a/internal/agent/tools/references.go +++ b/internal/agent/tools/references.go @@ -176,15 +176,15 @@ func formatReferences(locations []protocol.Location) string { sort.Strings(files) var output strings.Builder - output.WriteString(fmt.Sprintf("Found %d reference(s) in %d file(s):\n\n", len(locations), len(files))) + fmt.Fprintf(&output, "Found %d reference(s) in %d file(s):\n\n", len(locations), len(files)) for _, file := range files { refs := fileRefs[file] - output.WriteString(fmt.Sprintf("%s (%d reference(s)):\n", file, len(refs))) + fmt.Fprintf(&output, "%s (%d reference(s)):\n", file, len(refs)) for _, ref := range refs { line := ref.Range.Start.Line + 1 char := ref.Range.Start.Character + 1 - output.WriteString(fmt.Sprintf(" Line %d, Column %d\n", line, char)) + fmt.Fprintf(&output, " Line %d, Column %d\n", line, char) } output.WriteString("\n") } diff --git a/internal/agent/tools/search.go b/internal/agent/tools/search.go index 8d21162001e129f2f614e56b1288bad89904f4c0..c27428f56b328052f19e227e5cbb233ed0f88a49 100644 --- a/internal/agent/tools/search.go +++ b/internal/agent/tools/search.go @@ -191,11 +191,11 @@ func formatSearchResults(results []SearchResult) string { } var sb strings.Builder - sb.WriteString(fmt.Sprintf("Found %d search results:\n\n", len(results))) + fmt.Fprintf(&sb, "Found %d search results:\n\n", len(results)) for _, result := range results { - sb.WriteString(fmt.Sprintf("%d. %s\n", result.Position, result.Title)) - sb.WriteString(fmt.Sprintf(" URL: %s\n", result.Link)) - sb.WriteString(fmt.Sprintf(" Summary: %s\n\n", result.Snippet)) + fmt.Fprintf(&sb, "%d. %s\n", result.Position, result.Title) + fmt.Fprintf(&sb, " URL: %s\n", result.Link) + fmt.Fprintf(&sb, " Summary: %s\n\n", result.Snippet) } return sb.String() } diff --git a/internal/agent/tools/sourcegraph.go b/internal/agent/tools/sourcegraph.go index 72ecf2d6edb924594bc0c8700d88b6d8db256b50..e6d1014daf80aa062ebccead936b5f39bf2c5632 100644 --- a/internal/agent/tools/sourcegraph.go +++ b/internal/agent/tools/sourcegraph.go @@ -145,7 +145,7 @@ func formatSourcegraphResults(result map[string]any, contextWindow int) (string, for _, err := range errors { if errMap, ok := err.(map[string]any); ok { if message, ok := errMap["message"].(string); ok { - buffer.WriteString(fmt.Sprintf("- %s\n", message)) + fmt.Fprintf(&buffer, "- %s\n", message) } } } @@ -172,7 +172,7 @@ func formatSourcegraphResults(result map[string]any, contextWindow int) (string, limitHit, _ := searchResults["limitHit"].(bool) buffer.WriteString("# Sourcegraph Search Results\n\n") - buffer.WriteString(fmt.Sprintf("Found %d matches across %d results\n", int(matchCount), int(resultCount))) + fmt.Fprintf(&buffer, "Found %d matches across %d results\n", int(matchCount), int(resultCount)) if limitHit { buffer.WriteString("(Result limit reached, try a more specific query)\n") @@ -215,10 +215,10 @@ func formatSourcegraphResults(result map[string]any, contextWindow int) (string, fileURL, _ := file["url"].(string) fileContent, _ := file["content"].(string) - buffer.WriteString(fmt.Sprintf("## Result %d: %s/%s\n\n", i+1, repoName, filePath)) + fmt.Fprintf(&buffer, "## Result %d: %s/%s\n\n", i+1, repoName, filePath) if fileURL != "" { - buffer.WriteString(fmt.Sprintf("URL: %s\n\n", fileURL)) + fmt.Fprintf(&buffer, "URL: %s\n\n", fileURL) } if len(lineMatches) > 0 { @@ -240,24 +240,24 @@ func formatSourcegraphResults(result map[string]any, contextWindow int) (string, for j := startLine - 1; j < int(lineNumber)-1 && j < len(lines); j++ { if j >= 0 { - buffer.WriteString(fmt.Sprintf("%d| %s\n", j+1, lines[j])) + fmt.Fprintf(&buffer, "%d| %s\n", j+1, lines[j]) } } - buffer.WriteString(fmt.Sprintf("%d| %s\n", int(lineNumber), preview)) + fmt.Fprintf(&buffer, "%d| %s\n", int(lineNumber), preview) endLine := int(lineNumber) + contextWindow for j := int(lineNumber); j < endLine && j < len(lines); j++ { if j < len(lines) { - buffer.WriteString(fmt.Sprintf("%d| %s\n", j+1, lines[j])) + fmt.Fprintf(&buffer, "%d| %s\n", j+1, lines[j]) } } buffer.WriteString("```\n\n") } else { buffer.WriteString("```\n") - buffer.WriteString(fmt.Sprintf("%d| %s\n", int(lineNumber), preview)) + fmt.Fprintf(&buffer, "%d| %s\n", int(lineNumber), preview) buffer.WriteString("```\n\n") } } diff --git a/internal/agent/tools/web_fetch.go b/internal/agent/tools/web_fetch.go index 91c326a7b8671d4cdff9b7b04329371075c5dc94..3f9849724ff9a5deef9131482c2527a55b550098 100644 --- a/internal/agent/tools/web_fetch.go +++ b/internal/agent/tools/web_fetch.go @@ -60,11 +60,11 @@ func NewWebFetchTool(workingDir string, client *http.Client) fantasy.AgentTool { return fantasy.NewTextErrorResponse(fmt.Sprintf("Failed to close temporary file: %s", err)), nil } - result.WriteString(fmt.Sprintf("Fetched content from %s (large page)\n\n", params.URL)) - result.WriteString(fmt.Sprintf("Content saved to: %s\n\n", tempFilePath)) + fmt.Fprintf(&result, "Fetched content from %s (large page)\n\n", params.URL) + fmt.Fprintf(&result, "Content saved to: %s\n\n", tempFilePath) result.WriteString("Use the view and grep tools to analyze this file.") } else { - result.WriteString(fmt.Sprintf("Fetched content from %s:\n\n", params.URL)) + fmt.Fprintf(&result, "Fetched content from %s:\n\n", params.URL) result.WriteString(content) } diff --git a/internal/ui/chat/tools.go b/internal/ui/chat/tools.go index 17c15911e377318d4c4a1515fca57332f31996e1..be82a6e197b0505d83abe0c8d679b0469ed6b93a 100644 --- a/internal/ui/chat/tools.go +++ b/internal/ui/chat/tools.go @@ -1337,7 +1337,7 @@ func (t *baseToolMessageItem) formatWebFetchResultForCopy() string { } var result strings.Builder - result.WriteString(fmt.Sprintf("URL: %s\n\n", params.URL)) + fmt.Fprintf(&result, "URL: %s\n\n", params.URL) result.WriteString("```markdown\n") result.WriteString(t.result.Content) result.WriteString("\n```") @@ -1354,7 +1354,7 @@ func (t *baseToolMessageItem) formatAgentResultForCopy() string { var result strings.Builder if t.result.Content != "" { - result.WriteString(fmt.Sprintf("```markdown\n%s\n```", t.result.Content)) + fmt.Fprintf(&result, "```markdown\n%s\n```", t.result.Content) } return result.String()