diff options
author | Grzegorz Adam Hankiewicz <gradha@imap.cc> | 2014-07-26 14:39:01 +0200 |
---|---|---|
committer | Grzegorz Adam Hankiewicz <gradha@imap.cc> | 2014-07-26 14:39:01 +0200 |
commit | b287f13d4a1b3347628b5b488a41d714587f407d (patch) | |
tree | b72296e4c832fe0790ddff918fab028d0e7d8fad /lib/packages/docutils | |
parent | c0aaff028b17fcea0c8cd48b0e1fa46ba3b0f60e (diff) | |
download | Nim-b287f13d4a1b3347628b5b488a41d714587f407d.tar.gz |
Handles :file: option for code blocks to avoid warnings.
Diffstat (limited to 'lib/packages/docutils')
-rw-r--r-- | lib/packages/docutils/rst.nim | 4 | ||||
-rw-r--r-- | lib/packages/docutils/rstgen.nim | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/packages/docutils/rst.nim b/lib/packages/docutils/rst.nim index 153fe92c8..9f8e9c153 100644 --- a/lib/packages/docutils/rst.nim +++ b/lib/packages/docutils/rst.nim @@ -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 != "": diff --git a/lib/packages/docutils/rstgen.nim b/lib/packages/docutils/rstgen.nim index 7d0847c10..e62b627bd 100644 --- a/lib/packages/docutils/rstgen.nim +++ b/lib/packages/docutils/rstgen.nim @@ -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 |