parent
c87c37210f
commit
f312a0fc4e
@ -10,6 +10,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/golangci/golangci-lint/pkg/packages"
|
||||||
"github.com/golangci/golangci-lint/pkg/result/processors"
|
"github.com/golangci/golangci-lint/pkg/result/processors"
|
||||||
|
|
||||||
"github.com/fatih/color"
|
"github.com/fatih/color"
|
||||||
@ -26,7 +27,7 @@ import (
|
|||||||
"github.com/golangci/golangci-lint/pkg/result"
|
"github.com/golangci/golangci-lint/pkg/result"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getDefaultExcludeHelp() string {
|
func getDefaultIssueExcludeHelp() string {
|
||||||
parts := []string{"Use or not use default excludes:"}
|
parts := []string{"Use or not use default excludes:"}
|
||||||
for _, ep := range config.DefaultExcludePatterns {
|
for _, ep := range config.DefaultExcludePatterns {
|
||||||
parts = append(parts,
|
parts = append(parts,
|
||||||
@ -38,6 +39,17 @@ func getDefaultExcludeHelp() string {
|
|||||||
return strings.Join(parts, "\n")
|
return strings.Join(parts, "\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getDefaultDirectoryExcludeHelp() string {
|
||||||
|
parts := []string{"Use or not use default excluded directories:"}
|
||||||
|
for _, dir := range packages.StdExcludeDirRegexps {
|
||||||
|
parts = append(parts,
|
||||||
|
fmt.Sprintf(" - %s", color.YellowString(dir)),
|
||||||
|
"",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return strings.Join(parts, "\n")
|
||||||
|
}
|
||||||
|
|
||||||
const welcomeMessage = "Run this tool in cloud on every github pull " +
|
const welcomeMessage = "Run this tool in cloud on every github pull " +
|
||||||
"request in https://golangci.com for free (public repos)"
|
"request in https://golangci.com for free (public repos)"
|
||||||
|
|
||||||
@ -83,6 +95,7 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager, is
|
|||||||
fs.StringVarP(&rc.Config, "config", "c", "", wh("Read config from file path `PATH`"))
|
fs.StringVarP(&rc.Config, "config", "c", "", wh("Read config from file path `PATH`"))
|
||||||
fs.BoolVar(&rc.NoConfig, "no-config", false, wh("Don't read config"))
|
fs.BoolVar(&rc.NoConfig, "no-config", false, wh("Don't read config"))
|
||||||
fs.StringSliceVar(&rc.SkipDirs, "skip-dirs", nil, wh("Regexps of directories to skip"))
|
fs.StringSliceVar(&rc.SkipDirs, "skip-dirs", nil, wh("Regexps of directories to skip"))
|
||||||
|
fs.BoolVar(&rc.UseDefaultSkipDirs, "skip-dirs-use-default", true, getDefaultDirectoryExcludeHelp())
|
||||||
fs.StringSliceVar(&rc.SkipFiles, "skip-files", nil, wh("Regexps of files to skip"))
|
fs.StringSliceVar(&rc.SkipFiles, "skip-files", nil, wh("Regexps of files to skip"))
|
||||||
|
|
||||||
// Linters settings config
|
// Linters settings config
|
||||||
@ -162,7 +175,7 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager, is
|
|||||||
// Issues config
|
// Issues config
|
||||||
ic := &cfg.Issues
|
ic := &cfg.Issues
|
||||||
fs.StringSliceVarP(&ic.ExcludePatterns, "exclude", "e", nil, wh("Exclude issue by regexp"))
|
fs.StringSliceVarP(&ic.ExcludePatterns, "exclude", "e", nil, wh("Exclude issue by regexp"))
|
||||||
fs.BoolVar(&ic.UseDefaultExcludes, "exclude-use-default", true, getDefaultExcludeHelp())
|
fs.BoolVar(&ic.UseDefaultExcludes, "exclude-use-default", true, getDefaultIssueExcludeHelp())
|
||||||
|
|
||||||
fs.IntVar(&ic.MaxIssuesPerLinter, "max-issues-per-linter", 50,
|
fs.IntVar(&ic.MaxIssuesPerLinter, "max-issues-per-linter", 50,
|
||||||
wh("Maximum issues count per one linter. Set to 0 to disable"))
|
wh("Maximum issues count per one linter. Set to 0 to disable"))
|
||||||
|
@ -118,8 +118,9 @@ type Run struct {
|
|||||||
Deadline time.Duration
|
Deadline time.Duration
|
||||||
PrintVersion bool
|
PrintVersion bool
|
||||||
|
|
||||||
SkipFiles []string `mapstructure:"skip-files"`
|
SkipFiles []string `mapstructure:"skip-files"`
|
||||||
SkipDirs []string `mapstructure:"skip-dirs"`
|
SkipDirs []string `mapstructure:"skip-dirs"`
|
||||||
|
UseDefaultSkipDirs bool `mapstructure:"skip-dirs-use-default"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type LintersSettings struct {
|
type LintersSettings struct {
|
||||||
|
@ -48,8 +48,10 @@ func NewRunner(astCache *astcache.Cache, cfg *config.Config, log logutils.Log, g
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
skipDirs := append([]string{}, packages.StdExcludeDirRegexps...)
|
skipDirs := cfg.Run.SkipDirs
|
||||||
skipDirs = append(skipDirs, cfg.Run.SkipDirs...)
|
if cfg.Run.UseDefaultSkipDirs {
|
||||||
|
skipDirs = append(skipDirs, packages.StdExcludeDirRegexps...)
|
||||||
|
}
|
||||||
skipDirsProcessor, err := processors.NewSkipDirs(skipDirs, log.Child("skip dirs"), cfg.Run.Args)
|
skipDirsProcessor, err := processors.NewSkipDirs(skipDirs, log.Child("skip dirs"), cfg.Run.Args)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
Loading…
x
Reference in New Issue
Block a user