dev: organize golinters package (#4578)
This commit is contained in:
parent
085ac85a4e
commit
87a35e63a9
@ -186,7 +186,7 @@ issues:
|
||||
- path: pkg/golinters/gofumpt.go
|
||||
linters: [staticcheck]
|
||||
text: "SA1019: settings.LangVersion is deprecated: use the global `run.go` instead."
|
||||
- path: pkg/golinters/staticcheck_common.go
|
||||
- path: pkg/golinters/internal/staticcheck_common.go
|
||||
linters: [staticcheck]
|
||||
text: "SA1019: settings.GoVersion is deprecated: use the global `run.go` instead."
|
||||
- path: pkg/lint/lintersdb/manager.go
|
||||
|
@ -32,7 +32,7 @@ import (
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/exitcodes"
|
||||
"github.com/golangci/golangci-lint/pkg/fsutils"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis/load"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis/load"
|
||||
"github.com/golangci/golangci-lint/pkg/goutil"
|
||||
"github.com/golangci/golangci-lint/pkg/lint"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
|
||||
"github.com/golangci/golangci-lint/internal/errorutil"
|
||||
"github.com/golangci/golangci-lint/internal/pkgcache"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis/load"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis/load"
|
||||
"github.com/golangci/golangci-lint/pkg/logutils"
|
||||
"github.com/golangci/golangci-lint/pkg/timeutils"
|
||||
)
|
@ -15,7 +15,7 @@ import (
|
||||
"golang.org/x/tools/go/gcexportdata"
|
||||
"golang.org/x/tools/go/packages"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis/load"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis/load"
|
||||
"github.com/golangci/golangci-lint/pkg/logutils"
|
||||
)
|
||||
|
@ -5,7 +5,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
)
|
||||
|
||||
func NewAsasalint(setting *config.AsasalintSettings) *goanalysis.Linter {
|
||||
@ -18,7 +19,7 @@ func NewAsasalint(setting *config.AsasalintSettings) *goanalysis.Linter {
|
||||
|
||||
a, err := asasalint.NewAnalyzer(cfg)
|
||||
if err != nil {
|
||||
linterLogger.Fatalf("asasalint: create analyzer: %v", err)
|
||||
internal.LinterLogger.Fatalf("asasalint: create analyzer: %v", err)
|
||||
}
|
||||
|
||||
return goanalysis.NewLinter(
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/tdakkota/asciicheck"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewAsciicheck() *goanalysis.Linter {
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewBiDiChk(cfg *config.BiDiChkSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/timakin/bodyclose/passes/bodyclose"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewBodyclose() *goanalysis.Linter {
|
||||
|
@ -1,6 +0,0 @@
|
||||
package golinters
|
||||
|
||||
import "github.com/golangci/golangci-lint/pkg/logutils"
|
||||
|
||||
// linterLogger must be use only when the context logger is not available.
|
||||
var linterLogger = logutils.NewStderrLog(logutils.DebugKeyLinter)
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/sivchari/containedctx"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewContainedCtx() *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/kkHAIKE/contextcheck"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
)
|
||||
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewCopyLoopVar(settings *config.CopyLoopVarSettings) *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewCyclop(settings *config.Cyclop) *goanalysis.Linter {
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewDecorder(settings *config.DecorderSettings) *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
)
|
||||
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -10,7 +10,8 @@ import (
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/fsutils"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -53,7 +54,7 @@ func NewDupl(settings *config.DuplSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runDupl(pass *analysis.Pass, settings *config.DuplSettings) ([]goanalysis.Issue, error) {
|
||||
fileNames := getFileNames(pass)
|
||||
fileNames := internal.GetFileNames(pass)
|
||||
|
||||
issues, err := duplAPI.Run(fileNames, settings.Threshold)
|
||||
if err != nil {
|
||||
@ -75,7 +76,7 @@ func runDupl(pass *analysis.Pass, settings *config.DuplSettings) ([]goanalysis.I
|
||||
dupl := fmt.Sprintf("%s:%d-%d", toFilename, i.To.LineStart(), i.To.LineEnd())
|
||||
text := fmt.Sprintf("%d-%d lines are duplicate of %s",
|
||||
i.From.LineStart(), i.From.LineEnd(),
|
||||
formatCode(dupl, nil))
|
||||
internal.FormatCode(dupl, nil))
|
||||
|
||||
res = append(res, goanalysis.NewIssue(&result.Issue{
|
||||
Pos: token.Position{
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewDupWord(setting *config.DupWordSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/charithe/durationcheck"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewDurationCheck() *goanalysis.Linter {
|
||||
|
@ -16,7 +16,8 @@ import (
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/fsutils"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -94,7 +95,7 @@ func runErrCheck(lintCtx *linter.Context, pass *analysis.Pass, checker *errcheck
|
||||
code = err.FuncName
|
||||
}
|
||||
|
||||
text = fmt.Sprintf("Error return value of %s is not checked", formatCode(code, lintCtx.Cfg))
|
||||
text = fmt.Sprintf("Error return value of %s is not checked", internal.FormatCode(code, lintCtx.Cfg))
|
||||
}
|
||||
|
||||
issues[i] = goanalysis.NewIssue(
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewErrChkJSON(cfg *config.ErrChkJSONSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/Antonboom/errname/pkg/analyzer"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewErrName() *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewErrorLint(cfg *config.ErrorLintSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/lufeee/execinquery"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewExecInQuery() *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewExhaustive(settings *config.ExhaustiveSettings) *goanalysis.Linter {
|
||||
|
@ -5,7 +5,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
)
|
||||
|
||||
func NewExhaustruct(settings *config.ExhaustructSettings) *goanalysis.Linter {
|
||||
@ -17,7 +18,7 @@ func NewExhaustruct(settings *config.ExhaustructSettings) *goanalysis.Linter {
|
||||
|
||||
a, err := analyzer.NewAnalyzer(include, exclude)
|
||||
if err != nil {
|
||||
linterLogger.Fatalf("exhaustruct configuration: %v", err)
|
||||
internal.LinterLogger.Fatalf("exhaustruct configuration: %v", err)
|
||||
}
|
||||
|
||||
return goanalysis.NewLinter(
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/kyoh86/exportloopref"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewExportLoopRef() *goanalysis.Linter {
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/logutils"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/gostaticanalysis/forcetypeassert"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewForceTypeAssert() *goanalysis.Linter {
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -14,7 +14,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
)
|
||||
|
||||
@ -48,7 +49,7 @@ func NewGci(settings *config.GciSettings) *goanalysis.Linter {
|
||||
var err error
|
||||
cfg, err = rawCfg.Parse()
|
||||
if err != nil {
|
||||
linterLogger.Fatalf("gci: configuration parsing: %v", err)
|
||||
internal.LinterLogger.Fatalf("gci: configuration parsing: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,7 +83,7 @@ func NewGci(settings *config.GciSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runGci(pass *analysis.Pass, lintCtx *linter.Context, cfg *gcicfg.Config, lock *sync.Mutex) ([]goanalysis.Issue, error) {
|
||||
fileNames := getFileNames(pass)
|
||||
fileNames := internal.GetFileNames(pass)
|
||||
|
||||
var diffs []string
|
||||
err := diffFormattedFilesToArray(fileNames, *cfg, &diffs, lock)
|
||||
@ -97,7 +98,7 @@ func runGci(pass *analysis.Pass, lintCtx *linter.Context, cfg *gcicfg.Config, lo
|
||||
continue
|
||||
}
|
||||
|
||||
is, err := extractIssuesFromPatch(diff, lintCtx, gciName)
|
||||
is, err := internal.ExtractIssuesFromPatch(diff, lintCtx, gciName, getIssuedTextGci)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't extract issues from gci diff output %s: %w", diff, err)
|
||||
}
|
||||
@ -129,27 +130,27 @@ func diffFormattedFilesToArray(paths []string, cfg gcicfg.Config, diffs *[]strin
|
||||
})
|
||||
}
|
||||
|
||||
func getErrorTextForGci(settings config.GciSettings) string {
|
||||
func getIssuedTextGci(settings *config.LintersSettings) string {
|
||||
text := "File is not `gci`-ed"
|
||||
|
||||
hasOptions := settings.SkipGenerated || len(settings.Sections) > 0
|
||||
hasOptions := settings.Gci.SkipGenerated || len(settings.Gci.Sections) > 0
|
||||
if !hasOptions {
|
||||
return text
|
||||
}
|
||||
|
||||
text += " with"
|
||||
|
||||
if settings.SkipGenerated {
|
||||
if settings.Gci.SkipGenerated {
|
||||
text += " --skip-generated"
|
||||
}
|
||||
|
||||
if len(settings.Sections) > 0 {
|
||||
for _, section := range settings.Sections {
|
||||
if len(settings.Gci.Sections) > 0 {
|
||||
for _, section := range settings.Gci.Sections {
|
||||
text += " -s " + section
|
||||
}
|
||||
}
|
||||
|
||||
if settings.CustomOrder {
|
||||
if settings.Gci.CustomOrder {
|
||||
text += " --custom-order"
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGinkgoLinter(settings *config.GinkgoLinterSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"4d63.com/gocheckcompilerdirectives/checkcompilerdirectives"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGoCheckCompilerDirectives() *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"4d63.com/gochecknoglobals/checknoglobals"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGochecknoglobals() *goanalysis.Linter {
|
||||
|
@ -8,7 +8,8 @@ import (
|
||||
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -64,7 +65,7 @@ func checkFileForInits(f *ast.File, fset *token.FileSet) []result.Issue {
|
||||
if name == "init" && funcDecl.Recv.NumFields() == 0 {
|
||||
res = append(res, result.Issue{
|
||||
Pos: fset.Position(funcDecl.Pos()),
|
||||
Text: fmt.Sprintf("don't use %s function", formatCode(name, nil)),
|
||||
Text: fmt.Sprintf("don't use %s function", internal.FormatCode(name, nil)),
|
||||
FromLinter: gochecknoinitsName,
|
||||
})
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
"golang.org/x/tools/go/packages"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -9,7 +9,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -70,7 +71,7 @@ func runGocognit(pass *analysis.Pass, settings *config.GocognitSettings) []goana
|
||||
issues = append(issues, goanalysis.NewIssue(&result.Issue{
|
||||
Pos: s.Pos,
|
||||
Text: fmt.Sprintf("cognitive complexity %d of func %s is high (> %d)",
|
||||
s.Complexity, formatCode(s.FuncName, nil), settings.MinComplexity),
|
||||
s.Complexity, internal.FormatCode(s.FuncName, nil), settings.MinComplexity),
|
||||
FromLinter: gocognitName,
|
||||
}, pass))
|
||||
}
|
||||
|
@ -8,7 +8,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -78,12 +79,12 @@ func runGoconst(pass *analysis.Pass, settings *config.GoConstSettings) ([]goanal
|
||||
|
||||
res := make([]goanalysis.Issue, 0, len(lintIssues))
|
||||
for _, i := range lintIssues {
|
||||
text := fmt.Sprintf("string %s has %d occurrences", formatCode(i.Str, nil), i.OccurrencesCount)
|
||||
text := fmt.Sprintf("string %s has %d occurrences", internal.FormatCode(i.Str, nil), i.OccurrencesCount)
|
||||
|
||||
if i.MatchingConst == "" {
|
||||
text += ", make it a constant"
|
||||
} else {
|
||||
text += fmt.Sprintf(", but such constant %s already exists", formatCode(i.MatchingConst, nil))
|
||||
text += fmt.Sprintf(", but such constant %s already exists", internal.FormatCode(i.MatchingConst, nil))
|
||||
}
|
||||
|
||||
res = append(res, goanalysis.NewIssue(&result.Issue{
|
||||
|
@ -19,7 +19,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/logutils"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
|
@ -8,7 +8,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -62,7 +63,7 @@ func runGoCyclo(pass *analysis.Pass, settings *config.GoCycloSettings) []goanaly
|
||||
|
||||
for _, s := range stats {
|
||||
text := fmt.Sprintf("cyclomatic complexity %d of func %s is high (> %d)",
|
||||
s.Complexity, formatCode(s.FuncName, nil), settings.MinComplexity)
|
||||
s.Complexity, internal.FormatCode(s.FuncName, nil), settings.MinComplexity)
|
||||
|
||||
issues = append(issues, goanalysis.NewIssue(&result.Issue{
|
||||
Pos: s.Pos,
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/Djarvur/go-err113"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGoerr113() *goanalysis.Linter {
|
||||
|
@ -8,7 +8,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
)
|
||||
|
||||
@ -53,7 +54,7 @@ func NewGofmt(settings *config.GoFmtSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runGofmt(lintCtx *linter.Context, pass *analysis.Pass, settings *config.GoFmtSettings) ([]goanalysis.Issue, error) {
|
||||
fileNames := getFileNames(pass)
|
||||
fileNames := internal.GetFileNames(pass)
|
||||
|
||||
var rewriteRules []gofmtAPI.RewriteRule
|
||||
for _, rule := range settings.RewriteRules {
|
||||
@ -71,7 +72,7 @@ func runGofmt(lintCtx *linter.Context, pass *analysis.Pass, settings *config.GoF
|
||||
continue
|
||||
}
|
||||
|
||||
is, err := extractIssuesFromPatch(string(diff), lintCtx, gofmtName)
|
||||
is, err := internal.ExtractIssuesFromPatch(string(diff), lintCtx, gofmtName, getIssuedTextGoFmt)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't extract issues from gofmt diff output %q: %w", string(diff), err)
|
||||
}
|
||||
@ -83,3 +84,15 @@ func runGofmt(lintCtx *linter.Context, pass *analysis.Pass, settings *config.GoF
|
||||
|
||||
return issues, nil
|
||||
}
|
||||
|
||||
func getIssuedTextGoFmt(settings *config.LintersSettings) string {
|
||||
text := "File is not `gofmt`-ed"
|
||||
if settings.Gofmt.Simplify {
|
||||
text += " with `-s`"
|
||||
}
|
||||
for _, rule := range settings.Gofmt.RewriteRules {
|
||||
text += fmt.Sprintf(" `-r '%s -> %s'`", rule.Pattern, rule.Replacement)
|
||||
}
|
||||
|
||||
return text
|
||||
}
|
||||
|
@ -12,7 +12,8 @@ import (
|
||||
"mvdan.cc/gofumpt/format"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
)
|
||||
|
||||
@ -72,7 +73,7 @@ func NewGofumpt(settings *config.GofumptSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runGofumpt(lintCtx *linter.Context, pass *analysis.Pass, diff differ, options format.Options) ([]goanalysis.Issue, error) {
|
||||
fileNames := getFileNames(pass)
|
||||
fileNames := internal.GetFileNames(pass)
|
||||
|
||||
var issues []goanalysis.Issue
|
||||
|
||||
@ -96,7 +97,7 @@ func runGofumpt(lintCtx *linter.Context, pass *analysis.Pass, diff differ, optio
|
||||
}
|
||||
|
||||
diff := out.String()
|
||||
is, err := extractIssuesFromPatch(diff, lintCtx, gofumptName)
|
||||
is, err := internal.ExtractIssuesFromPatch(diff, lintCtx, gofumptName, getIssuedTextGoFumpt)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't extract issues from gofumpt diff output %q: %w", diff, err)
|
||||
}
|
||||
@ -117,3 +118,13 @@ func getLangVersion(settings *config.GofumptSettings) string {
|
||||
}
|
||||
return settings.LangVersion
|
||||
}
|
||||
|
||||
func getIssuedTextGoFumpt(settings *config.LintersSettings) string {
|
||||
text := "File is not `gofumpt`-ed"
|
||||
|
||||
if settings.Gofumpt.ExtraRules {
|
||||
text += " with `-extra`"
|
||||
}
|
||||
|
||||
return text
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -9,7 +9,8 @@ import (
|
||||
"golang.org/x/tools/imports"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
)
|
||||
|
||||
@ -56,7 +57,7 @@ func NewGoimports(settings *config.GoImportsSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runGoImports(lintCtx *linter.Context, pass *analysis.Pass) ([]goanalysis.Issue, error) {
|
||||
fileNames := getFileNames(pass)
|
||||
fileNames := internal.GetFileNames(pass)
|
||||
|
||||
var issues []goanalysis.Issue
|
||||
|
||||
@ -69,7 +70,7 @@ func runGoImports(lintCtx *linter.Context, pass *analysis.Pass) ([]goanalysis.Is
|
||||
continue
|
||||
}
|
||||
|
||||
is, err := extractIssuesFromPatch(string(diff), lintCtx, goimportsName)
|
||||
is, err := internal.ExtractIssuesFromPatch(string(diff), lintCtx, goimportsName, getIssuedTextGoImports)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't extract issues from gofmt diff output %q: %w", string(diff), err)
|
||||
}
|
||||
@ -81,3 +82,13 @@ func runGoImports(lintCtx *linter.Context, pass *analysis.Pass) ([]goanalysis.Is
|
||||
|
||||
return issues, nil
|
||||
}
|
||||
|
||||
func getIssuedTextGoImports(settings *config.LintersSettings) string {
|
||||
text := "File is not `goimports`-ed"
|
||||
|
||||
if settings.Goimports.LocalPrefixes != "" {
|
||||
text += " with -local " + settings.Goimports.LocalPrefixes
|
||||
}
|
||||
|
||||
return text
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGoMND(settings *config.GoMndSettings) *goanalysis.Linter {
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -7,7 +7,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -73,7 +74,7 @@ func NewGomodguard(settings *config.GoModGuardSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
analyzer.Run = func(pass *analysis.Pass) (any, error) {
|
||||
gomodguardIssues := processor.ProcessFiles(getFileNames(pass))
|
||||
gomodguardIssues := processor.ProcessFiles(internal.GetFileNames(pass))
|
||||
|
||||
mu.Lock()
|
||||
defer mu.Unlock()
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/jirfag/go-printf-func-name/pkg/analyzer"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGoPrintfFuncName() *goanalysis.Linter {
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
"golang.org/x/tools/go/packages"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -4,13 +4,14 @@ import (
|
||||
"honnef.co/go/tools/simple"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
)
|
||||
|
||||
func NewGosimple(settings *config.StaticCheckSettings) *goanalysis.Linter {
|
||||
cfg := staticCheckConfig(settings)
|
||||
cfg := internal.StaticCheckConfig(settings)
|
||||
|
||||
analyzers := setupStaticCheckAnalyzers(simple.Analyzers, getGoVersion(settings), cfg.Checks)
|
||||
analyzers := internal.SetupStaticCheckAnalyzers(simple.Analyzers, internal.GetGoVersion(settings), cfg.Checks)
|
||||
|
||||
return goanalysis.NewLinter(
|
||||
"gosimple",
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGosmopolitan(s *config.GosmopolitanSettings) *goanalysis.Linter {
|
||||
|
@ -52,7 +52,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis/passes/unusedwrite"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/logutils"
|
||||
)
|
||||
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewGrouper(settings *config.GrouperSettings) *goanalysis.Linter {
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
)
|
||||
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewINamedParam(settings *config.INamedParamSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/gordonklaus/ineffassign/pkg/ineffassign"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewIneffassign() *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewInterfaceBloat(settings *config.InterfaceBloatSettings) *goanalysis.Linter {
|
||||
|
6
pkg/golinters/internal/commons.go
Normal file
6
pkg/golinters/internal/commons.go
Normal file
@ -0,0 +1,6 @@
|
||||
package internal
|
||||
|
||||
import "github.com/golangci/golangci-lint/pkg/logutils"
|
||||
|
||||
// LinterLogger must be use only when the context logger is not available.
|
||||
var LinterLogger = logutils.NewStderrLog(logutils.DebugKeyLinter)
|
@ -1,4 +1,4 @@
|
||||
package golinters
|
||||
package internal
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
@ -27,6 +27,8 @@ const (
|
||||
diffLineDeleted diffLineType = "deleted"
|
||||
)
|
||||
|
||||
type fmtTextFormatter func(settings *config.LintersSettings) string
|
||||
|
||||
type diffLine struct {
|
||||
originalNumber int // 1-based original line number
|
||||
typ diffLineType
|
||||
@ -217,34 +219,7 @@ func (p *hunkChangesParser) parse(h *diffpkg.Hunk) []Change {
|
||||
return p.ret
|
||||
}
|
||||
|
||||
func getErrorTextForLinter(settings *config.LintersSettings, linterName string) string {
|
||||
text := "File is not formatted"
|
||||
switch linterName {
|
||||
case gciName:
|
||||
text = getErrorTextForGci(settings.Gci)
|
||||
case gofumptName:
|
||||
text = "File is not `gofumpt`-ed"
|
||||
if settings.Gofumpt.ExtraRules {
|
||||
text += " with `-extra`"
|
||||
}
|
||||
case gofmtName:
|
||||
text = "File is not `gofmt`-ed"
|
||||
if settings.Gofmt.Simplify {
|
||||
text += " with `-s`"
|
||||
}
|
||||
for _, rule := range settings.Gofmt.RewriteRules {
|
||||
text += fmt.Sprintf(" `-r '%s -> %s'`", rule.Pattern, rule.Replacement)
|
||||
}
|
||||
case goimportsName:
|
||||
text = "File is not `goimports`-ed"
|
||||
if settings.Goimports.LocalPrefixes != "" {
|
||||
text += " with -local " + settings.Goimports.LocalPrefixes
|
||||
}
|
||||
}
|
||||
return text
|
||||
}
|
||||
|
||||
func extractIssuesFromPatch(patch string, lintCtx *linter.Context, linterName string) ([]result.Issue, error) {
|
||||
func ExtractIssuesFromPatch(patch string, lintCtx *linter.Context, linterName string, formatter fmtTextFormatter) ([]result.Issue, error) {
|
||||
diffs, err := diffpkg.ParseMultiFileDiff([]byte(patch))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("can't parse patch: %w", err)
|
||||
@ -274,7 +249,7 @@ func extractIssuesFromPatch(patch string, lintCtx *linter.Context, linterName st
|
||||
Filename: d.NewName,
|
||||
Line: change.LineRange.From,
|
||||
},
|
||||
Text: getErrorTextForLinter(lintCtx.Settings(), linterName),
|
||||
Text: formatter(lintCtx.Settings()),
|
||||
Replacement: &change.Replacement,
|
||||
}
|
||||
if change.LineRange.From != change.LineRange.To {
|
@ -1,4 +1,4 @@
|
||||
package golinters
|
||||
package internal
|
||||
|
||||
import (
|
||||
"testing"
|
@ -1,4 +1,4 @@
|
||||
package golinters
|
||||
package internal
|
||||
|
||||
import (
|
||||
"strings"
|
||||
@ -14,7 +14,7 @@ import (
|
||||
|
||||
var debugf = logutils.Debug(logutils.DebugKeyMegacheck)
|
||||
|
||||
func getGoVersion(settings *config.StaticCheckSettings) string {
|
||||
func GetGoVersion(settings *config.StaticCheckSettings) string {
|
||||
var goVersion string
|
||||
if settings != nil {
|
||||
goVersion = settings.GoVersion
|
||||
@ -27,7 +27,7 @@ func getGoVersion(settings *config.StaticCheckSettings) string {
|
||||
return "1.17"
|
||||
}
|
||||
|
||||
func setupStaticCheckAnalyzers(src []*lint.Analyzer, goVersion string, checks []string) []*analysis.Analyzer {
|
||||
func SetupStaticCheckAnalyzers(src []*lint.Analyzer, goVersion string, checks []string) []*analysis.Analyzer {
|
||||
var names []string
|
||||
for _, a := range src {
|
||||
names = append(names, a.Analyzer.Name)
|
||||
@ -38,7 +38,7 @@ func setupStaticCheckAnalyzers(src []*lint.Analyzer, goVersion string, checks []
|
||||
var ret []*analysis.Analyzer
|
||||
for _, a := range src {
|
||||
if filter[a.Analyzer.Name] {
|
||||
setAnalyzerGoVersion(a.Analyzer, goVersion)
|
||||
SetAnalyzerGoVersion(a.Analyzer, goVersion)
|
||||
ret = append(ret, a.Analyzer)
|
||||
}
|
||||
}
|
||||
@ -46,7 +46,7 @@ func setupStaticCheckAnalyzers(src []*lint.Analyzer, goVersion string, checks []
|
||||
return ret
|
||||
}
|
||||
|
||||
func setAnalyzerGoVersion(a *analysis.Analyzer, goVersion string) {
|
||||
func SetAnalyzerGoVersion(a *analysis.Analyzer, goVersion string) {
|
||||
if v := a.Flags.Lookup("go"); v != nil {
|
||||
if err := v.Value.Set(goVersion); err != nil {
|
||||
debugf("Failed to set go version: %s", err)
|
||||
@ -54,7 +54,7 @@ func setAnalyzerGoVersion(a *analysis.Analyzer, goVersion string) {
|
||||
}
|
||||
}
|
||||
|
||||
func staticCheckConfig(settings *config.StaticCheckSettings) *scconfig.Config {
|
||||
func StaticCheckConfig(settings *config.StaticCheckSettings) *scconfig.Config {
|
||||
var cfg *scconfig.Config
|
||||
|
||||
if settings == nil || !settings.HasConfiguration() {
|
@ -1,4 +1,4 @@
|
||||
package golinters
|
||||
package internal
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@ -10,7 +10,7 @@ import (
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
)
|
||||
|
||||
func formatCode(code string, _ *config.Config) string {
|
||||
func FormatCode(code string, _ *config.Config) string {
|
||||
if strings.Contains(code, "`") {
|
||||
return code // TODO: properly escape or remove
|
||||
}
|
||||
@ -18,7 +18,7 @@ func formatCode(code string, _ *config.Config) string {
|
||||
return fmt.Sprintf("`%s`", code)
|
||||
}
|
||||
|
||||
func getFileNames(pass *analysis.Pass) []string {
|
||||
func GetFileNames(pass *analysis.Pass) []string {
|
||||
var fileNames []string
|
||||
for _, f := range pass.Files {
|
||||
fileName := pass.Fset.PositionFor(f.Pos(), true).Filename
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/ckaznocha/intrange"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewIntrange() *goanalysis.Linter {
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewIreturn(settings *config.IreturnSettings) *goanalysis.Linter {
|
||||
|
@ -13,7 +13,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -58,7 +59,7 @@ func NewLLL(settings *config.LllSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runLll(pass *analysis.Pass, settings *config.LllSettings) ([]goanalysis.Issue, error) {
|
||||
fileNames := getFileNames(pass)
|
||||
fileNames := internal.GetFileNames(pass)
|
||||
|
||||
spaces := strings.Repeat(" ", settings.TabWidth)
|
||||
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewLoggerCheck(settings *config.LoggerCheckSettings) *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewMaintIdx(cfg *config.MaintIdxSettings) *goanalysis.Linter {
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
"github.com/butuzov/mirror"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -11,7 +11,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -62,7 +63,7 @@ func NewMisspell(settings *config.MisspellSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runMisspell(lintCtx *linter.Context, pass *analysis.Pass, replacer *misspell.Replacer, mode string) ([]goanalysis.Issue, error) {
|
||||
fileNames := getFileNames(pass)
|
||||
fileNames := internal.GetFileNames(pass)
|
||||
|
||||
var issues []goanalysis.Issue
|
||||
for _, filename := range fileNames {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewMustTag(setting *config.MustTagSettings) *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewNakedret(settings *config.NakedretSettings) *goanalysis.Linter {
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/gostaticanalysis/nilerr"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewNilErr() *goanalysis.Linter {
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewNilNil(cfg *config.NilNilSettings) *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewNLReturn(settings *config.NlreturnSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/sonatard/noctx"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewNoctx() *goanalysis.Linter {
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/nolintlint"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewNoNamedReturns(settings *config.NoNamedReturnsSettings) *goanalysis.Linter {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"github.com/stbenjam/no-sprintf-host-port/pkg/analyzer"
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewNoSprintfHostPort() *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewParallelTest(settings *config.ParallelTestSettings) *goanalysis.Linter {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewPerfSprint(settings *config.PerfSprintSettings) *goanalysis.Linter {
|
||||
|
@ -8,7 +8,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
@ -55,7 +56,7 @@ func runPreAlloc(pass *analysis.Pass, settings *config.PreallocSettings) []goana
|
||||
for _, hint := range hints {
|
||||
issues = append(issues, goanalysis.NewIssue(&result.Issue{
|
||||
Pos: pass.Fset.Position(hint.Pos),
|
||||
Text: fmt.Sprintf("Consider pre-allocating %s", formatCode(hint.DeclaredSliceName, nil)),
|
||||
Text: fmt.Sprintf("Consider pre-allocating %s", internal.FormatCode(hint.DeclaredSliceName, nil)),
|
||||
FromLinter: preallocName,
|
||||
}, pass))
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewPredeclared(settings *config.PredeclaredSettings) *goanalysis.Linter {
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -7,7 +7,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
)
|
||||
|
||||
func NewReassign(settings *config.ReassignSettings) *goanalysis.Linter {
|
||||
|
@ -16,7 +16,8 @@ import (
|
||||
"golang.org/x/tools/go/analysis"
|
||||
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/goanalysis"
|
||||
"github.com/golangci/golangci-lint/pkg/golinters/internal"
|
||||
"github.com/golangci/golangci-lint/pkg/lint/linter"
|
||||
"github.com/golangci/golangci-lint/pkg/logutils"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
@ -73,7 +74,7 @@ func NewRevive(settings *config.ReviveSettings) *goanalysis.Linter {
|
||||
}
|
||||
|
||||
func runRevive(lintCtx *linter.Context, pass *analysis.Pass, settings *config.ReviveSettings) ([]goanalysis.Issue, error) {
|
||||
packages := [][]string{getFileNames(pass)}
|
||||
packages := [][]string{internal.GetFileNames(pass)}
|
||||
|
||||
conf, err := getReviveConfig(settings)
|
||||
if err != nil {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user