Oleksandr Redko ce020c6be1
dev: use analyzer fields for name, doc instead of hardcoded strings (#4214)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2023-11-20 20:53:18 +01:00

33 lines
1.1 KiB
Go

package golinters
import (
grouper "github.com/leonklingele/grouper/pkg/analyzer"
"golang.org/x/tools/go/analysis"
"github.com/golangci/golangci-lint/pkg/config"
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
)
func NewGrouper(settings *config.GrouperSettings) *goanalysis.Linter {
linterCfg := map[string]map[string]any{}
if settings != nil {
linterCfg["grouper"] = map[string]any{
"const-require-single-const": settings.ConstRequireSingleConst,
"const-require-grouping": settings.ConstRequireGrouping,
"import-require-single-import": settings.ImportRequireSingleImport,
"import-require-grouping": settings.ImportRequireGrouping,
"type-require-single-type": settings.TypeRequireSingleType,
"type-require-grouping": settings.TypeRequireGrouping,
"var-require-single-var": settings.VarRequireSingleVar,
"var-require-grouping": settings.VarRequireGrouping,
}
}
return goanalysis.NewLinter(
"grouper",
"Analyze expression groups.",
[]*analysis.Analyzer{grouper.New()},
linterCfg,
).WithLoadMode(goanalysis.LoadModeSyntax)
}