@@ -16,19 +16,18 @@ import (
1616)
1717
1818func setupLintersFlagSet (v * viper.Viper , fs * pflag.FlagSet ) {
19- fs . StringSliceP ( "disable" , "D" , nil , color .GreenString ("Disable specific linter" )) // Hack see Loader.applyStringSliceHack
19+ internal . AddHackedStringSliceP ( fs , "disable" , "D" , color .GreenString ("Disable specific linter" ))
2020 internal .AddFlagAndBind (v , fs , fs .Bool , "disable-all" , "linters.disable-all" , false , color .GreenString ("Disable all linters" ))
2121
22- fs . StringSliceP ( "enable" , "E" , nil , color .GreenString ("Enable specific linter" )) // Hack see Loader.applyStringSliceHack
22+ internal . AddHackedStringSliceP ( fs , "enable" , "E" , color .GreenString ("Enable specific linter" ))
2323 internal .AddFlagAndBind (v , fs , fs .Bool , "enable-all" , "linters.enable-all" , false , color .GreenString ("Enable all linters" ))
2424
2525 internal .AddFlagAndBind (v , fs , fs .Bool , "fast" , "linters.fast" , false ,
2626 color .GreenString ("Enable only fast linters from enabled linters set (first run won't be fast)" ))
2727
28- // Hack see Loader.applyStringSliceHack
29- fs .StringSliceP ("presets" , "p" , nil ,
30- color .GreenString (fmt .Sprintf ("Enable presets (%s) of linters. Run 'golangci-lint help linters' to see " +
31- "them. This option implies option --disable-all" , strings .Join (lintersdb .AllPresets (), "|" ))))
28+ internal .AddHackedStringSliceP (fs , "presets" , "p" ,
29+ color .GreenString (fmt .Sprintf ("Enable presets (%s) of linters. Run 'golangci-lint help linters' to see them. " +
30+ "This option implies option --disable-all" , strings .Join (lintersdb .AllPresets (), "|" ))))
3231
3332 fs .StringSlice ("enable-only" , nil ,
3433 color .GreenString ("Override linters configuration section to only run the specific linter(s)" )) // Flags only.
@@ -43,18 +42,16 @@ func setupRunFlagSet(v *viper.Viper, fs *pflag.FlagSet) {
4342 internal .AddFlagAndBind (v , fs , fs .Int , "issues-exit-code" , "run.issues-exit-code" , exitcodes .IssuesFound ,
4443 color .GreenString ("Exit code when issues were found" ))
4544 internal .AddFlagAndBind (v , fs , fs .String , "go" , "run.go" , "" , color .GreenString ("Targeted Go version" ))
46- fs . StringSlice ( "build-tags" , nil , color .GreenString ("Build tags" )) // Hack see Loader.applyStringSliceHack
45+ internal . AddHackedStringSlice ( fs , "build-tags" , color .GreenString ("Build tags" ))
4746
4847 internal .AddFlagAndBind (v , fs , fs .Duration , "timeout" , "run.timeout" , defaultTimeout , color .GreenString ("Timeout for total work" ))
4948
5049 internal .AddFlagAndBind (v , fs , fs .Bool , "tests" , "run.tests" , true , color .GreenString ("Analyze tests (*_test.go)" ))
5150
52- fs .StringSlice ("skip-files" , nil , color .GreenString ("Regexps of files to skip" )) // Hack see Loader.applyStringSliceHack
53- deprecateFlag (fs , "skip-files" )
54- fs .StringSlice ("skip-dirs" , nil , color .GreenString ("Regexps of directories to skip" )) // Hack see Loader.applyStringSliceHack
55- deprecateFlag (fs , "skip-dirs" )
56- internal .AddFlagAndBind (v , fs , fs .Bool , "skip-dirs-use-default" , "run.skip-dirs-use-default" , true , getDefaultDirectoryExcludeHelp ())
57- deprecateFlag (fs , "skip-dirs-use-default" )
51+ internal .AddDeprecatedHackedStringSlice (fs , "skip-files" , color .GreenString ("Regexps of files to skip" ))
52+ internal .AddDeprecatedHackedStringSlice (fs , "skip-dirs" , color .GreenString ("Regexps of directories to skip" ))
53+ internal .AddDeprecatedFlagAndBind (v , fs , fs .Bool , "skip-dirs-use-default" , "run.skip-dirs-use-default" , true ,
54+ getDefaultDirectoryExcludeHelp ())
5855
5956 const allowParallelDesc = "Allow multiple parallel golangci-lint instances running. " +
6057 "If false (default) - golangci-lint acquires file lock on start."
@@ -85,7 +82,7 @@ func setupOutputFlagSet(v *viper.Viper, fs *pflag.FlagSet) {
8582
8683//nolint:gomnd
8784func setupIssuesFlagSet (v * viper.Viper , fs * pflag.FlagSet ) {
88- fs . StringSliceP ( "exclude" , "e" , nil , color .GreenString ("Exclude issue by regexp" )) // Hack see Loader.applyStringSliceHack
85+ internal . AddHackedStringSliceP ( fs , "exclude" , "e" , color .GreenString ("Exclude issue by regexp" ))
8986 internal .AddFlagAndBind (v , fs , fs .Bool , "exclude-use-default" , "issues.exclude-use-default" , true ,
9087 getDefaultIssueExcludeHelp ())
9188 internal .AddFlagAndBind (v , fs , fs .Bool , "exclude-case-sensitive" , "issues.exclude-case-sensitive" , false ,
@@ -96,8 +93,8 @@ func setupIssuesFlagSet(v *viper.Viper, fs *pflag.FlagSet) {
9693 internal .AddFlagAndBind (v , fs , fs .Int , "max-same-issues" , "issues.max-same-issues" , 3 ,
9794 color .GreenString ("Maximum count of issues with the same text. Set to 0 to disable" ))
9895
99- fs . StringSlice ( "exclude-files" , nil , color .GreenString ("Regexps of files to exclude" )) // Hack see Loader.applyStringSliceHack
100- fs . StringSlice ( "exclude-dirs" , nil , color .GreenString ("Regexps of directories to exclude" )) // Hack see Loader.applyStringSliceHack
96+ internal . AddHackedStringSlice ( fs , "exclude-files" , color .GreenString ("Regexps of files to exclude" ))
97+ internal . AddHackedStringSlice ( fs , "exclude-dirs" , color .GreenString ("Regexps of directories to exclude" ))
10198 internal .AddFlagAndBind (v , fs , fs .Bool , "exclude-dirs-use-default" , "issues.exclude-dirs-use-default" , true ,
10299 getDefaultDirectoryExcludeHelp ())
103100
@@ -138,8 +135,3 @@ func getDefaultDirectoryExcludeHelp() string {
138135 parts = append (parts , "" )
139136 return strings .Join (parts , "\n " )
140137}
141-
142- func deprecateFlag (fs * pflag.FlagSet , name string ) {
143- _ = fs .MarkHidden (name )
144- _ = fs .MarkDeprecated (name , "check the documentation for more information." )
145- }
0 commit comments