@@ -41,11 +41,19 @@ func wh(text string) string {
4141 return color .GreenString (text )
4242}
4343
44- func initFlagSet (fs * pflag.FlagSet , cfg * config.Config , m * lintersdb.Manager ) {
44+ func initFlagSet (fs * pflag.FlagSet , cfg * config.Config , m * lintersdb.Manager , isFinalInit bool ) {
4545 hideFlag := func (name string ) {
4646 if err := fs .MarkHidden (name ); err != nil {
4747 panic (err )
4848 }
49+
50+ // we run initFlagSet multiple times, but we wouldn't like to see deprecation message multiple times
51+ if isFinalInit {
52+ const deprecateMessage = "flag will be removed soon, please, use .golangci.yml config"
53+ if err := fs .MarkDeprecated (name , deprecateMessage ); err != nil {
54+ panic (err )
55+ }
56+ }
4957 }
5058
5159 // Output config
@@ -85,9 +93,11 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager) {
8593 fs .BoolVar (& lsc .Errcheck .CheckAssignToBlank , "errcheck.check-blank" , false ,
8694 "Errcheck: check for errors assigned to blank identifier: _ = errFunc()" )
8795 hideFlag ("errcheck.check-blank" )
88- fs .StringVar (& lsc .Errcheck .Exclude , "errcheck.exclude" , "" , "errcheck.exclude" )
96+ fs .StringVar (& lsc .Errcheck .Exclude , "errcheck.exclude" , "" ,
97+ "Path to a file containing a list of functions to exclude from checking" )
8998 hideFlag ("errcheck.exclude" )
90- fs .Var (& lsc .Errcheck .Ignore , "errcheck.ignore" , "errcheck.ignore" )
99+ fs .StringVar (& lsc .Errcheck .Ignore , "errcheck.ignore" , "fmt:.*" ,
100+ `Comma-separated list of pairs of the form pkg:regex. The regex is used to ignore names within pkg` )
91101 hideFlag ("errcheck.ignore" )
92102
93103 fs .BoolVar (& lsc .Govet .CheckShadowing , "govet.check-shadowing" , false ,
@@ -171,7 +181,7 @@ func initFlagSet(fs *pflag.FlagSet, cfg *config.Config, m *lintersdb.Manager) {
171181func (e * Executor ) initRunConfiguration (cmd * cobra.Command ) {
172182 fs := cmd .Flags ()
173183 fs .SortFlags = false // sort them as they are defined here
174- initFlagSet (fs , e .cfg , e .DBManager )
184+ initFlagSet (fs , e .cfg , e .DBManager , true )
175185}
176186
177187func (e Executor ) getConfigForCommandLine () (* config.Config , error ) {
@@ -184,7 +194,7 @@ func (e Executor) getConfigForCommandLine() (*config.Config, error) {
184194 // `changed` variable inside string slice vars will be shared.
185195 // Use another config variable here, not e.cfg, to not
186196 // affect main parsing by this parsing of only config option.
187- initFlagSet (fs , & cfg , e .DBManager )
197+ initFlagSet (fs , & cfg , e .DBManager , false )
188198
189199 // Parse max options, even force version option: don't want
190200 // to get access to Executor here: it's error-prone to use
0 commit comments