From 16a7ed347a20b7a47b36d9880bcbbc656a2b68f3 Mon Sep 17 00:00:00 2001 From: denis-tingajkin Date: Wed, 15 Jul 2020 01:56:03 +0700 Subject: [PATCH 1/2] improve 'no such linter' error message Signed-off-by: denis-tingajkin --- pkg/lint/lintersdb/validator.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/lint/lintersdb/validator.go b/pkg/lint/lintersdb/validator.go index d7e3699c8513..0af3abaa7e2c 100644 --- a/pkg/lint/lintersdb/validator.go +++ b/pkg/lint/lintersdb/validator.go @@ -17,19 +17,19 @@ func NewValidator(m *Manager) *Validator { } } -func (v Validator) validateLintersNames(cfg *config.Linters) error { +func (v *Validator) validateLinterConfigNames(cfg *config.Linters) error { allNames := append([]string{}, cfg.Enable...) allNames = append(allNames, cfg.Disable...) for _, name := range allNames { if v.m.GetLinterConfigs(name) == nil { - return fmt.Errorf("no such linter %q", name) + return fmt.Errorf("no such linter %v, run 'golangci-lint linters' to see the list of supported linters", name) } } return nil } -func (v Validator) validatePresets(cfg *config.Linters) error { +func (v *Validator) validatePresets(cfg *config.Linters) error { allPresets := v.m.allPresetsSet() for _, p := range cfg.Presets { if !allPresets[p] { @@ -45,7 +45,7 @@ func (v Validator) validatePresets(cfg *config.Linters) error { return nil } -func (v Validator) validateAllDisableEnableOptions(cfg *config.Linters) error { +func (v *Validator) validateAllDisableEnableOptions(cfg *config.Linters) error { if cfg.EnableAll && cfg.DisableAll { return fmt.Errorf("--enable-all and --disable-all options must not be combined") } @@ -67,7 +67,7 @@ func (v Validator) validateAllDisableEnableOptions(cfg *config.Linters) error { return nil } -func (v Validator) validateDisabledAndEnabledAtOneMoment(cfg *config.Linters) error { +func (v *Validator) validateDisabledAndEnabledAtOneMoment(cfg *config.Linters) error { enabledLintersSet := map[string]bool{} for _, name := range cfg.Enable { enabledLintersSet[name] = true @@ -82,9 +82,9 @@ func (v Validator) validateDisabledAndEnabledAtOneMoment(cfg *config.Linters) er return nil } -func (v Validator) validateEnabledDisabledLintersConfig(cfg *config.Linters) error { +func (v *Validator) validateEnabledDisabledLintersConfig(cfg *config.Linters) error { validators := []func(cfg *config.Linters) error{ - v.validateLintersNames, + v.validateLinterConfigNames, v.validatePresets, v.validateAllDisableEnableOptions, v.validateDisabledAndEnabledAtOneMoment, From a57143cdbb3c920912660b0a8b748ba5d535a57b Mon Sep 17 00:00:00 2001 From: denis-tingajkin Date: Fri, 17 Jul 2020 13:42:59 +0700 Subject: [PATCH 2/2] apply review comments: make patch more conservative. Signed-off-by: denis-tingajkin --- pkg/lint/lintersdb/validator.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/lint/lintersdb/validator.go b/pkg/lint/lintersdb/validator.go index 0af3abaa7e2c..dead59657abf 100644 --- a/pkg/lint/lintersdb/validator.go +++ b/pkg/lint/lintersdb/validator.go @@ -17,7 +17,7 @@ func NewValidator(m *Manager) *Validator { } } -func (v *Validator) validateLinterConfigNames(cfg *config.Linters) error { +func (v Validator) validateLintersNames(cfg *config.Linters) error { allNames := append([]string{}, cfg.Enable...) allNames = append(allNames, cfg.Disable...) for _, name := range allNames { @@ -29,7 +29,7 @@ func (v *Validator) validateLinterConfigNames(cfg *config.Linters) error { return nil } -func (v *Validator) validatePresets(cfg *config.Linters) error { +func (v Validator) validatePresets(cfg *config.Linters) error { allPresets := v.m.allPresetsSet() for _, p := range cfg.Presets { if !allPresets[p] { @@ -45,7 +45,7 @@ func (v *Validator) validatePresets(cfg *config.Linters) error { return nil } -func (v *Validator) validateAllDisableEnableOptions(cfg *config.Linters) error { +func (v Validator) validateAllDisableEnableOptions(cfg *config.Linters) error { if cfg.EnableAll && cfg.DisableAll { return fmt.Errorf("--enable-all and --disable-all options must not be combined") } @@ -67,7 +67,7 @@ func (v *Validator) validateAllDisableEnableOptions(cfg *config.Linters) error { return nil } -func (v *Validator) validateDisabledAndEnabledAtOneMoment(cfg *config.Linters) error { +func (v Validator) validateDisabledAndEnabledAtOneMoment(cfg *config.Linters) error { enabledLintersSet := map[string]bool{} for _, name := range cfg.Enable { enabledLintersSet[name] = true @@ -82,9 +82,9 @@ func (v *Validator) validateDisabledAndEnabledAtOneMoment(cfg *config.Linters) e return nil } -func (v *Validator) validateEnabledDisabledLintersConfig(cfg *config.Linters) error { +func (v Validator) validateEnabledDisabledLintersConfig(cfg *config.Linters) error { validators := []func(cfg *config.Linters) error{ - v.validateLinterConfigNames, + v.validateLintersNames, v.validatePresets, v.validateAllDisableEnableOptions, v.validateDisabledAndEnabledAtOneMoment,