github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/pkg/commands/linters.go (about) 1 package commands 2 3 import ( 4 "log" 5 "os" 6 7 "github.com/fatih/color" 8 "github.com/spf13/cobra" 9 10 "github.com/elek/golangci-lint/pkg/lint/linter" 11 ) 12 13 func (e *Executor) initLinters() { 14 e.lintersCmd = &cobra.Command{ 15 Use: "linters", 16 Short: "List current linters configuration", 17 Run: e.executeLinters, 18 } 19 e.rootCmd.AddCommand(e.lintersCmd) 20 e.initRunConfiguration(e.lintersCmd) 21 } 22 23 func (e *Executor) executeLinters(_ *cobra.Command, args []string) { 24 if len(args) != 0 { 25 e.log.Fatalf("Usage: golangci-lint linters") 26 } 27 28 enabledLintersMap, err := e.EnabledLintersSet.GetEnabledLintersMap() 29 if err != nil { 30 log.Fatalf("Can't get enabled linters: %s", err) 31 } 32 33 color.Green("Enabled by your configuration linters:\n") 34 enabledLinters := make([]*linter.Config, 0, len(enabledLintersMap)) 35 for _, linter := range enabledLintersMap { 36 enabledLinters = append(enabledLinters, linter) 37 } 38 printLinterConfigs(enabledLinters) 39 40 var disabledLCs []*linter.Config 41 for _, lc := range e.DBManager.GetAllSupportedLinterConfigs() { 42 if enabledLintersMap[lc.Name()] == nil { 43 disabledLCs = append(disabledLCs, lc) 44 } 45 } 46 47 color.Red("\nDisabled by your configuration linters:\n") 48 printLinterConfigs(disabledLCs) 49 50 os.Exit(0) 51 }