From 1d1dd0f7beb15d51d0a5c505f0cc7b4618ae3ef8 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Tue, 31 Dec 2024 13:33:18 +0100 Subject: [PATCH] feat: unique file path --- pkg/result/processors/fixer.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/pkg/result/processors/fixer.go b/pkg/result/processors/fixer.go index f74b0f553cd5..b82c7f207192 100644 --- a/pkg/result/processors/fixer.go +++ b/pkg/result/processors/fixer.go @@ -80,13 +80,14 @@ func (p Fixer) process(issues []result.Issue) ([]result.Issue, error) { formatters := []string{gofumpt.Name, goimports.Name, gofmt.Name, gci.Name} var notFixableIssues []result.Issue - var formatIssues []result.Issue + + toBeFormattedFiles := make(map[string]struct{}) for i := range issues { issue := issues[i] if slices.Contains(formatters, issue.FromLinter) { - formatIssues = append(formatIssues, issue) + toBeFormattedFiles[issue.FilePath()] = struct{}{} continue } @@ -203,9 +204,7 @@ func (p Fixer) process(issues []result.Issue) ([]result.Issue, error) { formattedFiles = append(formattedFiles, path) } - for i := range formatIssues { - path := issues[i].FilePath() - + for path := range toBeFormattedFiles { // Skips files already formatted by the previous fix step. if !slices.Contains(formattedFiles, path) { content, err := p.fileCache.GetFileBytes(path)