github.com/chenfeining/golangci-lint@v1.0.2-0.20230730162517-14c6c67868df/pkg/golinters/nakedret.go (about) 1 package golinters 2 3 import ( 4 "github.com/alexkohler/nakedret/v2" 5 "golang.org/x/tools/go/analysis" 6 7 "github.com/chenfeining/golangci-lint/pkg/config" 8 "github.com/chenfeining/golangci-lint/pkg/golinters/goanalysis" 9 ) 10 11 const nakedretName = "nakedret" 12 13 func NewNakedret(settings *config.NakedretSettings) *goanalysis.Linter { 14 var maxLines int 15 if settings != nil { 16 maxLines = settings.MaxFuncLines 17 } 18 19 analyzer := nakedret.NakedReturnAnalyzer(uint(maxLines)) 20 21 return goanalysis.NewLinter( 22 nakedretName, 23 "Finds naked returns in functions greater than a specified function length", 24 []*analysis.Analyzer{analyzer}, 25 nil, 26 ).WithLoadMode(goanalysis.LoadModeSyntax) 27 }