Skip to content

Commit f312a0f

Browse files
Sean-Derjirfag
authored andcommitted
fix #416: Add skip-dirs-use-default (#630)
1 parent c87c372 commit f312a0f

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

pkg/commands/run.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"strings"
1111
"time"
1212

13+
"github.com/golangci/golangci-lint/pkg/packages"
1314
"github.com/golangci/golangci-lint/pkg/result/processors"
1415

1516
"github.com/fatih/color"
@@ -26,7 +27,7 @@ import (
2627
"github.com/golangci/golangci-lint/pkg/result"
2728
)
2829

29-
func getDefaultExcludeHelp() string {
30+
func getDefaultIssueExcludeHelp() string {
3031
parts := []string{"Use or not use default excludes:"}
3132
for _, ep := range config.DefaultExcludePatterns {
3233
parts = append(parts,
@@ -38,6 +39,17 @@ func getDefaultExcludeHelp() string {
3839
return strings.Join(parts, "\n")
3940
}
4041

42+
func getDefaultDirectoryExcludeHelp() string {
43+
parts := []string{"Use or not use default excluded directories:"}
44+
for _, dir := range packages.StdExcludeDirRegexps {
45+
parts = append(parts,
46+
fmt.Sprintf(" - %s", color.YellowString(dir)),
47+
"",
48+
)
49+
}
50+
return strings.Join(parts, "\n")
51+
}
52+
4153
const welcomeMessage = "Run this tool in cloud on every github pull " +
4254
"request in https://golangci.com for free (public repos)"
4355

@@ -83,6 +95,7 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager, is
8395
fs.StringVarP(&rc.Config, "config", "c", "", wh("Read config from file path `PATH`"))
8496
fs.BoolVar(&rc.NoConfig, "no-config", false, wh("Don't read config"))
8597
fs.StringSliceVar(&rc.SkipDirs, "skip-dirs", nil, wh("Regexps of directories to skip"))
98+
fs.BoolVar(&rc.UseDefaultSkipDirs, "skip-dirs-use-default", true, getDefaultDirectoryExcludeHelp())
8699
fs.StringSliceVar(&rc.SkipFiles, "skip-files", nil, wh("Regexps of files to skip"))
87100

88101
// Linters settings config
@@ -162,7 +175,7 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager, is
162175
// Issues config
163176
ic := &cfg.Issues
164177
fs.StringSliceVarP(&ic.ExcludePatterns, "exclude", "e", nil, wh("Exclude issue by regexp"))
165-
fs.BoolVar(&ic.UseDefaultExcludes, "exclude-use-default", true, getDefaultExcludeHelp())
178+
fs.BoolVar(&ic.UseDefaultExcludes, "exclude-use-default", true, getDefaultIssueExcludeHelp())
166179

167180
fs.IntVar(&ic.MaxIssuesPerLinter, "max-issues-per-linter", 50,
168181
wh("Maximum issues count per one linter. Set to 0 to disable"))

pkg/config/config.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,9 @@ type Run struct {
118118
Deadline time.Duration
119119
PrintVersion bool
120120

121-
SkipFiles []string `mapstructure:"skip-files"`
122-
SkipDirs []string `mapstructure:"skip-dirs"`
121+
SkipFiles []string `mapstructure:"skip-files"`
122+
SkipDirs []string `mapstructure:"skip-dirs"`
123+
UseDefaultSkipDirs bool `mapstructure:"skip-dirs-use-default"`
123124
}
124125

125126
type LintersSettings struct {

pkg/lint/runner.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,10 @@ func NewRunner(astCache *astcache.Cache, cfg *config.Config, log logutils.Log, g
4848
return nil, err
4949
}
5050

51-
skipDirs := append([]string{}, packages.StdExcludeDirRegexps...)
52-
skipDirs = append(skipDirs, cfg.Run.SkipDirs...)
51+
skipDirs := cfg.Run.SkipDirs
52+
if cfg.Run.UseDefaultSkipDirs {
53+
skipDirs = append(skipDirs, packages.StdExcludeDirRegexps...)
54+
}
5355
skipDirsProcessor, err := processors.NewSkipDirs(skipDirs, log.Child("skip dirs"), cfg.Run.Args)
5456
if err != nil {
5557
return nil, err

0 commit comments

Comments
 (0)