Add find utility method for searching for issues among multiple issue states.

This commit is contained in:
Jonathan Bernard 2023-02-17 12:12:13 -06:00
parent ea9f8ea7ac
commit ec012d11b6
3 changed files with 10 additions and 2 deletions

View File

@ -1,6 +1,6 @@
# Package
version = "4.22.0"
version = "4.22.1"
author = "Jonathan Bernard"
description = "Personal issue tracker."
license = "MIT"

View File

@ -1,4 +1,4 @@
const PIT_VERSION* = "4.22.0"
const PIT_VERSION* = "4.22.1"
const USAGE* = """Usage:
pit ( new | add) <summary> [<state>] [options]

View File

@ -385,6 +385,14 @@ proc filter*(issues: seq[Issue], filter: IssueFilter): seq[Issue] =
for exclTag in filter.exclTags:
result = result.filterIt(it.tags.find(exclTag) < 0)
proc find*(
issues: TableRef[IssueState, seq[Issue]],
filter: IssueFilter
): seq[Issue] =
result = @[]
for stateIssues in issues.values: result &= stateIssues.filter(filter)
### Configuration utilities
proc loadConfig*(args: Table[string, Value] = initTable[string, Value]()): PitConfig =
let pitrcLocations = @[