github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/pkg/golinters/tagliatelle.go (about) 1 package golinters 2 3 import ( 4 "github.com/ldez/tagliatelle" 5 "golang.org/x/tools/go/analysis" 6 7 "github.com/elek/golangci-lint/pkg/config" 8 "github.com/elek/golangci-lint/pkg/golinters/goanalysis" 9 ) 10 11 func NewTagliatelle(settings *config.TagliatelleSettings) *goanalysis.Linter { 12 cfg := tagliatelle.Config{ 13 Rules: map[string]string{ 14 "json": "camel", 15 "yaml": "camel", 16 }, 17 } 18 19 if settings != nil { 20 for k, v := range settings.Case.Rules { 21 cfg.Rules[k] = v 22 } 23 cfg.UseFieldName = settings.Case.UseFieldName 24 } 25 26 a := tagliatelle.New(cfg) 27 28 return goanalysis.NewLinter(a.Name, a.Doc, []*analysis.Analyzer{a}, nil). 29 WithLoadMode(goanalysis.LoadModeSyntax) 30 }