aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorSteve Moyer <smoyer1@selesy.com>2022-09-25 08:05:34 -0400
committerSteve Moyer <smoyer1@selesy.com>2022-09-25 08:05:48 -0400
commit10ba2246f9b5285f5118a5ba5be134724af4bbe0 (patch)
tree0981e099599f2d1ad0180cc60854d5d5be3bcc24 /commands
parent1a5f4be6904694189b8f2461529f1160191a7810 (diff)
downloadgit-bug-10ba2246f9b5285f5118a5ba5be134724af4bbe0.tar.gz
refactor(git-bug-863): merge ls-id into ls
The "ls" command allows filtering and sorting and already features different output formatters. Merging "ls-id" into "ls" cleans up the command hierarchy and allows users to take advantage of these querying features. Resolves #863.
Diffstat (limited to 'commands')
-rw-r--r--commands/ls-id.go7
-rw-r--r--commands/ls.go14
-rw-r--r--commands/ls_test.go1
3 files changed, 20 insertions, 2 deletions
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.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..b53092b4 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]{7}\n$"},
{"org-mode", expOrgMode},
}