summaryrefslogtreecommitdiff
path: root/internal/task/task.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/task/task.go')
-rw-r--r--internal/task/task.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/task/task.go b/internal/task/task.go
index 4c33fdb..f7a3f73 100644
--- a/internal/task/task.go
+++ b/internal/task/task.go
@@ -46,8 +46,12 @@ func Add(description string, tags []string) error {
// Export retrieves all tasks using `task export rc.json.array=off` and parses
// the JSON output into a slice of Task structs.
-func Export() ([]Task, error) {
- cmd := exec.Command("task", "export", "rc.json.array=off")
+// Export retrieves tasks using `task <filter> export rc.json.array=off` and parses
+// the JSON output into a slice of Task structs. Optional filter arguments are
+// passed directly to the `task` command before `export`.
+func Export(filters ...string) ([]Task, error) {
+ args := append(filters, "export", "rc.json.array=off")
+ cmd := exec.Command("task", args...)
out, err := cmd.Output()
if err != nil {
return nil, err