github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/pkg/golinters/sloglint.go (about) 1 package golinters 2 3 import ( 4 "go-simpler.org/sloglint" 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 NewSlogLint(settings *config.SlogLintSettings) *goanalysis.Linter { 12 var opts *sloglint.Options 13 if settings != nil { 14 opts = &sloglint.Options{ 15 NoMixedArgs: settings.NoMixedArgs, 16 KVOnly: settings.KVOnly, 17 AttrOnly: settings.AttrOnly, 18 ContextOnly: settings.ContextOnly, 19 StaticMsg: settings.StaticMsg, 20 NoRawKeys: settings.NoRawKeys, 21 KeyNamingCase: settings.KeyNamingCase, 22 ArgsOnSepLines: settings.ArgsOnSepLines, 23 } 24 } 25 26 a := sloglint.New(opts) 27 28 return goanalysis. 29 NewLinter(a.Name, a.Doc, []*analysis.Analyzer{a}, nil). 30 WithLoadMode(goanalysis.LoadModeTypesInfo) 31 }