diff options
Diffstat (limited to 'commands/label_ls.go')
-rw-r--r-- | commands/label_ls.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/commands/label_ls.go b/commands/label_ls.go new file mode 100644 index 00000000..242eb00c --- /dev/null +++ b/commands/label_ls.go @@ -0,0 +1,33 @@ +package commands + +import ( + "github.com/spf13/cobra" +) + +func newLabelLsCommand() *cobra.Command { + env := newEnv() + + cmd := &cobra.Command{ + Use: "ls", + Short: "List valid labels.", + Long: `List valid labels. + +Note: in the future, a proper label policy could be implemented where valid labels are defined in a configuration file. Until that, the default behavior is to return the list of labels already used.`, + PreRunE: loadBackend(env), + RunE: closeBackend(env, func(cmd *cobra.Command, args []string) error { + return runLabelLs(env) + }), + } + + return cmd +} + +func runLabelLs(env *Env) error { + labels := env.backend.ValidLabels() + + for _, l := range labels { + env.out.Println(l) + } + + return nil +} |