diff options
Diffstat (limited to 'commands')
-rw-r--r-- | commands/label.go | 3 | ||||
-rw-r--r-- | commands/label_ls.go | 33 | ||||
-rw-r--r-- | commands/ls-id.go | 7 | ||||
-rw-r--r-- | commands/ls-labels.go | 18 | ||||
-rw-r--r-- | commands/ls.go | 14 | ||||
-rw-r--r-- | commands/ls_test.go | 1 |
6 files changed, 62 insertions, 14 deletions
diff --git a/commands/label.go b/commands/label.go index 906974a5..ff4d0151 100644 --- a/commands/label.go +++ b/commands/label.go @@ -20,13 +20,14 @@ func newLabelCommand() *cobra.Command { } cmd.AddCommand(newLabelAddCommand()) + cmd.AddCommand(newLabelLsCommand()) cmd.AddCommand(newLabelRmCommand()) return cmd } func runLabel(env *Env, args []string) error { - b, args, err := _select.ResolveBug(env.backend, args) + b, _, err := _select.ResolveBug(env.backend, args) if err != nil { return err } 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 +} diff --git a/commands/ls-id.go b/commands/ls-id.go index 41f017e8..31107e87 100644 --- a/commands/ls-id.go +++ b/commands/ls-id.go @@ -14,6 +14,13 @@ func newLsIdCommand() *cobra.Command { RunE: closeBackend(env, func(cmd *cobra.Command, args []string) error { return runLsId(env, args) }), + Deprecated: `and will be removed in v1.0. + +Please use the "ls" command which allows filtering and sorting of the resulting +list of ids. The following example would print a new-line separated list containing +the ids of all open bugs: +git-bug ls --format id --status open +`, } return cmd diff --git a/commands/ls-labels.go b/commands/ls-labels.go index 086943a9..00fc3fe6 100644 --- a/commands/ls-labels.go +++ b/commands/ls-labels.go @@ -15,19 +15,15 @@ func newLsLabelCommand() *cobra.Command { 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 runLsLabel(env) + return runLabelLs(env) }), - } - - return cmd -} - -func runLsLabel(env *Env) error { - labels := env.backend.ValidLabels() + Deprecated: ` and will be removed in v1.0. - for _, l := range labels { - env.out.Println(l) +The functionality provided by this command is now provided by +the following (equivalent) command: +git-bug label ls +`, } - return nil + return cmd } diff --git a/commands/ls.go b/commands/ls.go index 6ec06f39..7ed897fa 100644 --- a/commands/ls.go +++ b/commands/ls.go @@ -92,9 +92,9 @@ git bug ls status:open --by creation "foo bar" baz "Select the sorting direction. Valid values are [asc,desc]") cmd.RegisterFlagCompletionFunc("direction", completeFrom([]string{"asc", "desc"})) flags.StringVarP(&options.outputFormat, "format", "f", "default", - "Select the output formatting style. Valid values are [default,plain,compact,json,org-mode]") + "Select the output formatting style. Valid values are [default,plain,compact,id,json,org-mode]") cmd.RegisterFlagCompletionFunc("format", - completeFrom([]string{"default", "plain", "compact", "json", "org-mode"})) + completeFrom([]string{"default", "plain", "compact", "id", "json", "org-mode"})) return cmd } @@ -143,6 +143,8 @@ func runLs(env *Env, opts lsOptions, args []string) error { return lsJsonFormatter(env, bugExcerpt) case "compact": return lsCompactFormatter(env, bugExcerpt) + case "id": + return lsIDFormatter(env, bugExcerpt) case "default": return lsDefaultFormatter(env, bugExcerpt) default: @@ -252,6 +254,14 @@ func lsCompactFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error { return nil } +func lsIDFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error { + for _, b := range bugExcerpts { + env.out.Println(b.Id.String()) + } + + return nil +} + func lsDefaultFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error { for _, b := range bugExcerpts { author, err := env.backend.ResolveIdentityExcerpt(b.AuthorId) diff --git a/commands/ls_test.go b/commands/ls_test.go index 5759f9d0..22adc1ce 100644 --- a/commands/ls_test.go +++ b/commands/ls_test.go @@ -61,6 +61,7 @@ $` {"default", "^[0-9a-f]{7}\topen\tthis is a bug title \tJohn Doe \t\n$"}, {"plain", "^[0-9a-f]{7} \\[open\\] this is a bug title\n$"}, {"compact", "^[0-9a-f]{7} open this is a bug title John Doe\n$"}, + {"id", "^[0-9a-f]{64}\n$"}, {"org-mode", expOrgMode}, } |