diff options
Diffstat (limited to 'worker/notmuch/lib/database.go')
-rw-r--r-- | worker/notmuch/lib/database.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/worker/notmuch/lib/database.go b/worker/notmuch/lib/database.go index f4fd588d..0706bbcc 100644 --- a/worker/notmuch/lib/database.go +++ b/worker/notmuch/lib/database.go @@ -55,6 +55,23 @@ func (db *DB) connectRO() error { return nil } +// ListTags lists all known tags +func (db *DB) ListTags() ([]string, error) { + if db.ro == nil { + return nil, fmt.Errorf("not connected to the notmuch db") + } + tags, err := db.ro.Tags() + if err != nil { + return nil, err + } + var result []string + var tag *notmuch.Tag + for tags.Next(&tag) { + result = append(result, tag.Value) + } + return result, nil +} + //getQuery returns a query based on the provided query string. //It also configures the query as specified on the worker func (db *DB) newQuery(query string) (*notmuch.Query, error) { |