add anti tag search
This commit is contained in:
@@ -38,7 +38,7 @@ func _main() error {
|
||||
filepath := flag.String("f", defaultFilepath, "($PTTODO_FILE) path to yaml file")
|
||||
filepathToMergeIn := flag.String("g", "", "path to yaml file to merge into -f")
|
||||
root := flag.String("root", DUMP_TODO, "path to pretty print ("+fmt.Sprint([]string{DUMP_ALL, DUMP_TODO, DUMP_SCHEDULED, DUMP_DONE})+")")
|
||||
tags := flag.String("tags", "", "csv of all tags to find")
|
||||
tags := flag.String("tags", "", "csv of all tags to find, -tag to invert")
|
||||
search := flag.String("search", "", "fts case insensitive")
|
||||
e := flag.Bool("e", false, "edit file")
|
||||
dry := flag.Bool("dry", false, "dry run")
|
||||
@@ -257,7 +257,10 @@ func dump(dry bool, writer io.Writer, filepath string, tags []string, search, ro
|
||||
for _, todo := range todos {
|
||||
want := len(todo.Tags) > 0
|
||||
for _, tag := range tags {
|
||||
want = want && strings.Contains(todo.Tags, tag)
|
||||
positiveTag := strings.TrimLeft(tag, "-")
|
||||
hasTag := strings.Contains(todo.Tags, positiveTag)
|
||||
wantToHaveTag := !strings.HasPrefix(tag, "-")
|
||||
want = want && (hasTag == wantToHaveTag)
|
||||
}
|
||||
if want {
|
||||
result = append(result, todo)
|
||||
|
||||
Reference in New Issue
Block a user