Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3d8fafd7b2 | |||
| 7d5d55d24a |
@@ -1,6 +1,6 @@
|
||||
# Package
|
||||
|
||||
version = "4.31.2"
|
||||
version = "4.32.1"
|
||||
author = "Jonathan Bernard"
|
||||
description = "Personal issue tracker."
|
||||
license = "MIT"
|
||||
|
||||
36
src/pit.nim
36
src/pit.nim
@@ -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"]:
|
||||
@@ -306,6 +313,17 @@ when isMainModule:
|
||||
issue.store()
|
||||
updatedIssues.add(issue)
|
||||
|
||||
elif args["update-details"]:
|
||||
let details =
|
||||
if not args["--file"] or $args["--file"] == "-": readAll(stdin)
|
||||
else: readFile($args["--file"])
|
||||
|
||||
for id in @(args["<id>"]):
|
||||
var issue = ctx.cfg.tasksDir.loadIssueById(id)
|
||||
issue.details = details
|
||||
issue.store()
|
||||
updatedIssues.add(issue)
|
||||
|
||||
elif args["start"] or args["todo-today"] or args["done"] or
|
||||
args["pending"] or args["todo"] or args["suspend"]:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const PIT_VERSION* = "4.31.2"
|
||||
const PIT_VERSION* = "4.32.1"
|
||||
|
||||
const USAGE* = """Usage:
|
||||
pit ( new | add) <summary> [<state>] [options]
|
||||
@@ -10,6 +10,7 @@ const USAGE* = """Usage:
|
||||
pit ( start | done | pending | todo-today | todo | suspend ) <id>... [options]
|
||||
pit edit <ref>... [options]
|
||||
pit tag <id>... [options]
|
||||
pit update-details <id> [--file=<path>] [options]
|
||||
pit untag <id>... [options]
|
||||
pit reorder <state> [options]
|
||||
pit delegate <id> <delegated-to> [options]
|
||||
|
||||
Reference in New Issue
Block a user