github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/pkg/golinters/perfsprint.go (about) 1 package golinters 2 3 import ( 4 "github.com/catenacyber/perfsprint/analyzer" 5 "golang.org/x/tools/go/analysis" 6 7 "github.com/vanstinator/golangci-lint/pkg/config" 8 "github.com/vanstinator/golangci-lint/pkg/golinters/goanalysis" 9 ) 10 11 func NewPerfSprint(settings *config.PerfSprintSettings) *goanalysis.Linter { 12 a := analyzer.New() 13 14 var cfg map[string]map[string]any 15 if settings != nil { 16 cfg = map[string]map[string]any{ 17 a.Name: { 18 "int-conversion": settings.IntConversion, 19 "err-error": settings.ErrError, 20 "errorf": settings.ErrorF, 21 "sprintf1": settings.SprintF1, 22 }, 23 } 24 } 25 26 return goanalysis.NewLinter( 27 a.Name, 28 a.Doc, 29 []*analysis.Analyzer{a}, 30 cfg, 31 ).WithLoadMode(goanalysis.LoadModeTypesInfo) 32 }