package cmd import ( "fmt" "os" "git.jnss.me/joakim/opal/internal/engine" "github.com/spf13/cobra" ) var countCmd = &cobra.Command{ Use: "count [filter...]", Short: "Count matching tasks", Run: func(cmd *cobra.Command, args []string) { if err := countTasks(args); err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) } }, } func countTasks(args []string) error { var filter *engine.Filter var err error if len(args) == 0 { filter = engine.DefaultFilter() } else { filter, err = engine.ParseFilter(args) if err != nil { return err } } tasks, err := engine.GetTasks(filter) if err != nil { return err } fmt.Printf("%d\n", len(tasks)) return nil }