From fee4ba70a682657de9548b87bd8a2378bb2b47f2 Mon Sep 17 00:00:00 2001 From: Jonathan Bernard Date: Tue, 21 Mar 2023 10:17:43 -0500 Subject: [PATCH] Update state field when changing an issue's state. --- pit.nimble | 2 +- src/pitpkg/cliconstants.nim | 2 +- src/pitpkg/private/libpit.nim | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pit.nimble b/pit.nimble index 3db2896..cc03e5e 100644 --- a/pit.nimble +++ b/pit.nimble @@ -1,6 +1,6 @@ # Package -version = "4.23.0" +version = "4.23.1" author = "Jonathan Bernard" description = "Personal issue tracker." license = "MIT" diff --git a/src/pitpkg/cliconstants.nim b/src/pitpkg/cliconstants.nim index 4d829ed..b1f0d13 100644 --- a/src/pitpkg/cliconstants.nim +++ b/src/pitpkg/cliconstants.nim @@ -1,4 +1,4 @@ -const PIT_VERSION* = "4.23.0" +const PIT_VERSION* = "4.23.1" const USAGE* = """Usage: pit ( new | add) [] [options] diff --git a/src/pitpkg/private/libpit.nim b/src/pitpkg/private/libpit.nim index 2cfc3e6..de541d5 100644 --- a/src/pitpkg/private/libpit.nim +++ b/src/pitpkg/private/libpit.nim @@ -41,6 +41,7 @@ type isFromCompletion*: bool const DONE_FOLDER_FORMAT* = "yyyy-MM" +const ISO8601_MS = "yyyy-MM-dd'T'HH:mm:ss'.'fffzzz" let ISSUE_FILE_PATTERN = re"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}\.txt" let RECURRENCE_PATTERN = re"(every|after) ((\d+) )?((hour|day|week|month|year)s?)(, ([0-9a-fA-F]+))?" @@ -219,12 +220,17 @@ proc fromStorageFormat*(id: string, issueTxt: string): Issue = proc toStorageFormat*(issue: Issue, withComments = false): string = var lines: seq[string] = @[] + if withComments: lines.add("# Summary (one line):") lines.add(issue.summary) + if withComments: lines.add("# Properties (\"key:value\" per line):") + issue.properties["last-updated"] = now().format(ISO8601_MS) for key, val in issue.properties: if not val.isEmptyOrWhitespace: lines.add(key & ": " & val) + if issue.tags.len > 0: lines.add("tags: " & issue.tags.join(",")) + if not isEmptyOrWhitespace(issue.details) or withComments: if withComments: lines.add("# Details go below the \"--------\"") lines.add("--------") @@ -326,6 +332,7 @@ proc changeState*(issue: Issue, tasksDir: string, newState: IssueState) = if newState == Done: issue.setDateTime("completed", getTime().local) tasksDir.store(issue, newState) if oldFilePath != issue.filepath: removeFile(oldFilepath) + issue.state = newState proc delete*(issue: Issue) = removeFile(issue.filepath)