Handles :file: option for code blocks to avoid warnings.

This commit is contained in:
Grzegorz Adam Hankiewicz
2014-07-26 14:39:01 +02:00
parent c0aaff028b
commit b287f13d4a
2 changed files with 11 additions and 0 deletions

View File

@@ -1520,6 +1520,10 @@ proc dirCodeBlock(p: var TRstParser, nimrodExtension = false): PRstNode =
## fake internal field to comminicate with the generator. The field is named
## ``default-language``, which is unlikely to collide with a field specified
## by any random rst input file.
##
## As an extension this proc will process the ``file`` extension field and if
## present will replace the code block with the contents of the referenced
## file.
result = parseDirective(p, {hasArg, hasOptions}, parseLiteralBlock)
var filename = strip(getFieldValue(result, "file"))
if filename != "":

View File

@@ -786,6 +786,13 @@ proc parseCodeBlockField(d: PDoc, n: PRstNode, params: var CodeBlockParams) =
var number: int
if parseInt(n.getFieldValue, number) > 0:
params.startLine = number
of "file":
# The ``file`` option is a Nimrod extension to the official spec, it acts
# like it would for other directives like ``raw`` or ``cvs-table``. This
# field is dealt with in ``rst.nim`` which replaces the existing block with
# the referenced file, so we only need to ignore it here to avoid incorrect
# warning messages.
discard
of "default-language":
params.langStr = n.getFieldValue.strip
params.lang = params.langStr.getSourceLanguage