docutils: make ':test:' work without argument

This commit is contained in:
Andreas Rumpf
2018-04-15 13:25:40 +02:00
parent efae366857
commit ed9c28484a
2 changed files with 7 additions and 4 deletions

View File

@@ -816,7 +816,7 @@ proc commandRstAux(filename, outExt: string) =
# Nim's convention: every path is relative to the file it was written in:
outp = splitFile(d.filename).dir / filename
writeFile(outp, content)
let cmd = unescape(cmd) % quoteShell(outp)
let cmd = cmd % quoteShell(outp)
rawMessage(hintExecuting, cmd)
if execShellCmd(cmd) != status:
rawMessage(errExecutionOfProgramFailed, cmd)

View File

@@ -820,7 +820,7 @@ proc parseCodeBlockField(d: PDoc, n: PRstNode, params: var CodeBlockParams) =
##
## This supports the special ``default-language`` internal string generated
## by the ``rst`` module to communicate a specific default language.
case n.getArgument.toLower
case n.getArgument.toLowerAscii
of "number-lines":
params.numberLines = true
# See if the field has a parameter specifying a different line than 1.
@@ -836,8 +836,11 @@ proc parseCodeBlockField(d: PDoc, n: PRstNode, params: var CodeBlockParams) =
params.filename = n.getFieldValue.strip
of "test":
params.testCmd = n.getFieldValue.strip
if params.testCmd.len == 0: params.testCmd = "nim c -r $1"
of "status":
if params.testCmd.len == 0:
params.testCmd = "nim c -r $1"
else:
params.testCmd = unescape(params.testCmd)
of "status", "exitcode":
var status: int
if parseInt(n.getFieldValue, status) > 0:
params.status = status