Compare commits

..

2 Commits

4 changed files with 22 additions and 13 deletions

View File

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

View File

@@ -253,11 +253,6 @@ when isMainModule:
elif args["edit"]:
for editRef in @(args["<ref>"]):
let propsOption =
if args["--properties"]:
some(parsePropertiesOption($args["--properties"]))
else: none(TableRef[string, string])
var stateOption = none(IssueState)
try: stateOption = some(parseEnum[IssueState](editRef))
@@ -267,10 +262,16 @@ when isMainModule:
let state = stateOption.get
ctx.loadIssues(state)
for issue in ctx.issues[state]:
if propsOption.isSome:
for k,v in propsOption.get:
if propertiesOption.isSome:
for k,v in propertiesOption.get:
issue[k] = v
edit(issue)
if tagsOption.isSome:
issue.tags = deduplicate(issue.tags & tagsOption.get)
if exclTagsOption.isSome:
issue.tags = issue.tags.filter(
proc (tag: string): bool = not exclTagsOption.get.anyIt(it == tag))
if args["--non-interactive"]: issue.store()
else: edit(issue)
updatedIssues.add(issue)
else:
@@ -278,7 +279,13 @@ when isMainModule:
if propertiesOption.isSome:
for k,v in propertiesOption.get:
issue[k] = v
edit(issue)
if tagsOption.isSome:
issue.tags = deduplicate(issue.tags & tagsOption.get)
if exclTagsOption.isSome:
issue.tags = issue.tags.filter(
proc (tag: string): bool = not exclTagsOption.get.anyIt(it == tag))
if args["--non-interactive"]: issue.store()
else: edit(issue)
updatedIssues.add(issue)
elif args["tag"]:

View File

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

View File

@@ -230,7 +230,9 @@ proc fromStorageFormat*(id: string, issueTxt: string): Issue =
var detailLines: seq[string] = @[]
for line in issueTxt.splitLines():
if line.startsWith("#"): continue # ignore lines starting with '#'
if line.startsWith("#") and parseState != ReadingDetails:
# ignore lines starting with '#', unless we're in the details section.
continue
case parseState