package cmd import ( "fmt" "github.com/spf13/cobra" "github.com/spf13/viper" ) var projectListCmd = &cobra.Command{ Use: "list", Short: "List GitLab Projects", Aliases: []string{"ls", "l"}, Long: projListCmdLong, Run: projectListCmdRun, } func projectListCmdRun(cmd *cobra.Command, args []string) { gitlabs := viper.GetStringSlice("project.gitlabs") fmt.Println(projectCache.DumpString(viper.GetBool("project.list.all"), searchStringFromArgs(args), gitlabs...)) } func init() { projectCmd.AddCommand(projectListCmd) projectListCmd.PersistentFlags().Bool("all", false, "List all, not just cloned locally") viper.BindPFlag("project.list.all", projectListCmd.Flag("all")) }