From 00e13fc7ad8a4c0b4542c91534dcaf2d2833eb1a Mon Sep 17 00:00:00 2001 From: Brian Buller Date: Thu, 18 Mar 2021 09:27:31 -0500 Subject: [PATCH] Allow filtering on complete/incomplete e.g.: List all completed tasks `gask ls :x` List all incomplete tasks `gask ls :o` --- model.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/model.go b/model.go index f5cbb8d..768792c 100644 --- a/model.go +++ b/model.go @@ -121,6 +121,15 @@ func (a *AppState) getFilterPredicate(filter string) func(todotxt.Task) bool { } filterParts := strings.Split(filter, " ") for _, part := range filterParts { + if part == ":x" { + predicates = append(predicates, func(t todotxt.Task) bool { + return t.Completed + }) + } else if part == ":-x" || part == ":o" { + predicates = append(predicates, func(t todotxt.Task) bool { + return !t.Completed + }) + } if strings.HasPrefix(part, "@") { predicates = append(predicates, func(t todotxt.Task) bool { for _, v := range t.Contexts {