fix checking hastags and nothas tags

Bel LaPointe 2022-01-04 08:56:19 -05:00
parent cf3b233a11
commit fa812a16ee
1 changed files with 3 additions and 3 deletions

View File

@ -255,14 +255,14 @@ func dump(dry bool, writer io.Writer, filepath string, tags []string, search, ro
if len(tags) > 0 { if len(tags) > 0 {
result := make([]pttodo.Todo, 0, len(todos)) result := make([]pttodo.Todo, 0, len(todos))
for _, todo := range todos { for _, todo := range todos {
want := len(todo.Tags) > 0 skip := false
for _, tag := range tags { for _, tag := range tags {
positiveTag := strings.TrimLeft(tag, "-") positiveTag := strings.TrimLeft(tag, "-")
hasTag := strings.Contains(todo.Tags, positiveTag) hasTag := strings.Contains(todo.Tags, positiveTag)
wantToHaveTag := !strings.HasPrefix(tag, "-") wantToHaveTag := !strings.HasPrefix(tag, "-")
want = want && (hasTag == wantToHaveTag) skip = skip || !(hasTag == wantToHaveTag)
} }
if want { if !skip {
result = append(result, todo) result = append(result, todo)
} }
} }