github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/pkg/golinters/grouper.go (about) 1 package golinters 2 3 import ( 4 grouper "github.com/leonklingele/grouper/pkg/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 NewGrouper(settings *config.GrouperSettings) *goanalysis.Linter { 12 linterCfg := map[string]map[string]any{} 13 if settings != nil { 14 linterCfg["grouper"] = map[string]any{ 15 "const-require-single-const": settings.ConstRequireSingleConst, 16 "const-require-grouping": settings.ConstRequireGrouping, 17 "import-require-single-import": settings.ImportRequireSingleImport, 18 "import-require-grouping": settings.ImportRequireGrouping, 19 "type-require-single-type": settings.TypeRequireSingleType, 20 "type-require-grouping": settings.TypeRequireGrouping, 21 "var-require-single-var": settings.VarRequireSingleVar, 22 "var-require-grouping": settings.VarRequireGrouping, 23 } 24 } 25 26 return goanalysis.NewLinter( 27 "grouper", 28 "Analyze expression groups.", 29 []*analysis.Analyzer{grouper.New()}, 30 linterCfg, 31 ).WithLoadMode(goanalysis.LoadModeSyntax) 32 }