github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/pkg/golinters/ireturn.go (about) 1 package golinters 2 3 import ( 4 "strings" 5 6 "github.com/butuzov/ireturn/analyzer" 7 "golang.org/x/tools/go/analysis" 8 9 "github.com/vanstinator/golangci-lint/pkg/config" 10 "github.com/vanstinator/golangci-lint/pkg/golinters/goanalysis" 11 ) 12 13 func NewIreturn(settings *config.IreturnSettings) *goanalysis.Linter { 14 a := analyzer.NewAnalyzer() 15 16 cfg := map[string]map[string]any{} 17 if settings != nil { 18 cfg[a.Name] = map[string]any{ 19 "allow": strings.Join(settings.Allow, ","), 20 "reject": strings.Join(settings.Reject, ","), 21 } 22 } 23 24 return goanalysis.NewLinter( 25 a.Name, 26 a.Doc, 27 []*analysis.Analyzer{a}, 28 cfg, 29 ).WithLoadMode(goanalysis.LoadModeTypesInfo) 30 }