2 Commits
0.2.0 ... 0.2.2

2 changed files with 8 additions and 8 deletions

View File

@ -1,6 +1,6 @@
# Package
version = "0.2.0"
version = "0.2.2"
author = "Jonathan Bernard"
description = "Simple Nim CLI wrapper around the ESV API (api.esv.org)"
license = "MIT"

View File

@ -7,15 +7,15 @@ import std/[httpclient, json, logging, os, re, strutils, uri, wordwrap]
import cliutils, docopt, zero_functional
proc formatMarkdown(raw: string): string =
let rawLines = raw.splitLines --> map(it.strip)
let wrapped = (rawLines -->
filter(not isEmptyOrWhitespace(it.strip) and match(it, re"^\[\d+\].*")).
map(it.multiReplace([(re"\((\d+)\)", ""), (re"\[(\d+)\]", "**$1**")])).
let rawLines = raw.splitLines
let wrapped = (raw.splitLines -->
filter(match(it, re"^\s+(\[\d+\]|\w).*")).
map(it.strip.multiReplace([(re"\((\d+)\)", ""), (re"\[(\d+)\]", "**$1**")])).
map(wrapWords(it, maxLineWidth = 74, newLine = "\p"))).
join("\p")
result = (wrapped.splitLines --> map("> " & it)).join("\p") &
"\p>\p> -- *" & rawLines[0] & " (ESV)*"
"\p>\p> -- *" & rawLines[0].strip & " (ESV)*"
when isMainModule:
const USAGE = """Usage:
@ -44,7 +44,7 @@ Options:
try:
# Parse arguments
let args = docopt(USAGE, version = "0.2.0")
let args = docopt(USAGE, version = "0.2.2")
if args["--debug"]:
consoleLogger.levelThreshold = lvlDebug
@ -78,7 +78,7 @@ Options:
else:
respJson["passages"].getElems --> map(formatMarkdown(it.getStr))
echo formattedPassages.join("\p")
echo formattedPassages.join("\p\p")
except CatchableError:
fatal getCurrentExceptionMsg()