ls: accept a query to sort and filter the list

Michael Muré created

Change summary

commands/ls.go       | 14 ++++++++++++--
doc/man/git-bug-ls.1 |  2 +-
doc/md/git-bug_ls.md |  2 +-
3 files changed, 14 insertions(+), 4 deletions(-)

Detailed changes

commands/ls.go 🔗

@@ -16,7 +16,17 @@ func runLsBug(cmd *cobra.Command, args []string) error {
 	}
 	defer backend.Close()
 
-	allIds := backend.AllBugsId(cache.OrderByCreation, cache.OrderAscending)
+	var query *cache.Query
+	if len(args) >= 1 {
+		fmt.Println("Query", args[0])
+		query, err = cache.ParseQuery(args[0])
+
+		if err != nil {
+			return err
+		}
+	}
+
+	allIds := backend.QueryBugs(query)
 
 	for _, id := range allIds {
 		b, err := backend.ResolveBug(id)
@@ -50,7 +60,7 @@ func runLsBug(cmd *cobra.Command, args []string) error {
 }
 
 var lsCmd = &cobra.Command{
-	Use:   "ls",
+	Use:   "ls <query>",
 	Short: "Display a summary of all bugs",
 	RunE:  runLsBug,
 }

doc/man/git-bug-ls.1 🔗

@@ -10,7 +10,7 @@ git\-bug\-ls \- Display a summary of all bugs
 
 .SH SYNOPSIS
 .PP
-\fBgit\-bug ls [flags]\fP
+\fBgit\-bug ls <query> [flags]\fP
 
 
 .SH DESCRIPTION

doc/md/git-bug_ls.md 🔗

@@ -7,7 +7,7 @@ Display a summary of all bugs
 Display a summary of all bugs
 
 ```
-git-bug ls [flags]
+git-bug ls <query> [flags]
 ```
 
 ### Options