| package source |
| |
| import ( |
| "go/token" |
| "golang.org/x/tools/go/analysis" |
| "golang.org/x/tools/internal/span" |
| ) |
| |
| func getCodeActions(fset *token.FileSet, diag analysis.Diagnostic) ([]SuggestedFixes, error) { |
| var cas []SuggestedFixes |
| for _, fix := range diag.SuggestedFixes { |
| var ca SuggestedFixes |
| ca.Title = fix.Message |
| for _, te := range fix.TextEdits { |
| span, err := span.NewRange(fset, te.Pos, te.End).Span() |
| if err != nil { |
| return nil, err |
| } |
| ca.Edits = append(ca.Edits, TextEdit{span, string(te.NewText)}) |
| } |
| cas = append(cas, ca) |
| } |
| return cas, nil |
| } |