Skip to content

Commit 3dc0816

Browse files
committed
feat: add godoclint to linters
Signed-off-by: Babak K. Shandiz <[email protected]>
1 parent e6d7a5b commit 3dc0816

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package godoclint
2+
3+
import (
4+
glcompose "github.com/godoc-lint/godoc-lint/pkg/compose"
5+
glconfig "github.com/godoc-lint/godoc-lint/pkg/config"
6+
7+
"github.com/golangci/golangci-lint/v2/pkg/config"
8+
"github.com/golangci/golangci-lint/v2/pkg/goanalysis"
9+
)
10+
11+
func New(settings *config.GodoclintSettings) *goanalysis.Linter {
12+
pcfg := glconfig.PlainConfig{
13+
Include: settings.Include,
14+
Exclude: settings.Exclude,
15+
Enable: settings.Enable,
16+
Disable: settings.Disable,
17+
Options: &glconfig.PlainRuleOptions{
18+
MaxLenLength: settings.Options.MaxLen.Length,
19+
MaxLenIncludeTests: settings.Options.MaxLen.IncludeTests,
20+
PkgDocStartWith: settings.Options.PkgDoc.StartWith,
21+
PkgDocIncludeTests: settings.Options.PkgDoc.IncludeTests,
22+
SinglePkgDocIncludeTests: settings.Options.SinglePkgDoc.IncludeTests,
23+
RequirePkgDocIncludeTests: settings.Options.RequirePkgDoc.IncludeTests,
24+
RequireDocIncludeTests: settings.Options.RequireDoc.IncludeTests,
25+
RequireDocIgnoreExported: settings.Options.RequireDoc.IgnoreExported,
26+
RequireDocIgnoreUnexported: settings.Options.RequireDoc.IgnoreUnexported,
27+
StartWithNamePattern: settings.Options.StartWithName.Pattern,
28+
StartWithNameIncludeTests: settings.Options.StartWithName.IncludeTests,
29+
StartWithNameIncludeUnexported: settings.Options.StartWithName.IncludeUnexported,
30+
NoUnusedLinkIncludeTests: settings.Options.NoUnusedLink.IncludeTests,
31+
},
32+
}
33+
34+
composition := glcompose.Compose(glcompose.CompositionConfig{
35+
BaseDirPlainConfig: &pcfg,
36+
})
37+
38+
return goanalysis.
39+
NewLinterFromAnalyzer(composition.Analyzer.GetAnalyzer()).
40+
WithLoadMode(goanalysis.LoadModeTypesInfo)
41+
}

pkg/lint/lintersdb/builder_linter.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import (
4343
"github.com/golangci/golangci-lint/v2/pkg/golinters/goconst"
4444
"github.com/golangci/golangci-lint/v2/pkg/golinters/gocritic"
4545
"github.com/golangci/golangci-lint/v2/pkg/golinters/gocyclo"
46+
"github.com/golangci/golangci-lint/v2/pkg/golinters/godoclint"
4647
"github.com/golangci/golangci-lint/v2/pkg/golinters/godot"
4748
"github.com/golangci/golangci-lint/v2/pkg/golinters/godox"
4849
"github.com/golangci/golangci-lint/v2/pkg/golinters/gofmt"
@@ -331,6 +332,11 @@ func (LinterBuilder) Build(cfg *config.Config) ([]*linter.Config, error) {
331332
WithSince("v1.0.0").
332333
WithURL("https://github.com/fzipp/gocyclo"),
333334

335+
linter.NewConfig(godoclint.New(&cfg.Linters.Settings.Godoclint)).
336+
WithSince("v2.5.0").
337+
WithLoadForGoAnalysis().
338+
WithURL("https://github.com/godoc-lint/godoc-lint"),
339+
334340
linter.NewConfig(godot.New(&cfg.Linters.Settings.Godot)).
335341
WithSince("v1.25.0").
336342
WithAutoFix().

0 commit comments

Comments
 (0)