mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-17 22:41:14 +00:00
@@ -1518,7 +1518,7 @@ proc dirInclude(p: var RstParser): PRstNode =
|
||||
# InternalError("Too many binary zeros in include file")
|
||||
result = parseDoc(q)
|
||||
|
||||
proc dirCodeBlock(p: var RstParser, nimrodExtension = false): PRstNode =
|
||||
proc dirCodeBlock(p: var RstParser, nimExtension = false): PRstNode =
|
||||
## Parses a code block.
|
||||
##
|
||||
## Code blocks are rnDirective trees with a `kind` of rnCodeBlock. See the
|
||||
@@ -1526,8 +1526,8 @@ proc dirCodeBlock(p: var RstParser, nimrodExtension = false): PRstNode =
|
||||
##
|
||||
## Code blocks can come in two forms, the standard `code directive
|
||||
## <http://docutils.sourceforge.net/docs/ref/rst/directives.html#code>`_ and
|
||||
## the nimrod extension ``.. code-block::``. If the block is an extension, we
|
||||
## want the default language syntax highlighting to be Nimrod, so we create a
|
||||
## the nim extension ``.. code-block::``. If the block is an extension, we
|
||||
## want the default language syntax highlighting to be Nim, so we create a
|
||||
## 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.
|
||||
@@ -1545,16 +1545,16 @@ proc dirCodeBlock(p: var RstParser, nimrodExtension = false): PRstNode =
|
||||
result.sons[2] = n
|
||||
|
||||
# Extend the field block if we are using our custom extension.
|
||||
if nimrodExtension:
|
||||
if nimExtension:
|
||||
# Create a field block if the input block didn't have any.
|
||||
if result.sons[1].isNil: result.sons[1] = newRstNode(rnFieldList)
|
||||
assert result.sons[1].kind == rnFieldList
|
||||
# Hook the extra field and specify the Nimrod language as value.
|
||||
# Hook the extra field and specify the Nim language as value.
|
||||
var extraNode = newRstNode(rnField)
|
||||
extraNode.add(newRstNode(rnFieldName))
|
||||
extraNode.add(newRstNode(rnFieldBody))
|
||||
extraNode.sons[0].add(newRstNode(rnLeaf, "default-language"))
|
||||
extraNode.sons[1].add(newRstNode(rnLeaf, "Nimrod"))
|
||||
extraNode.sons[1].add(newRstNode(rnLeaf, "Nim"))
|
||||
result.sons[1].add(extraNode)
|
||||
|
||||
result.kind = rnCodeBlock
|
||||
@@ -1641,7 +1641,7 @@ proc parseDotDot(p: var RstParser): PRstNode =
|
||||
else:
|
||||
rstMessage(p, meInvalidDirective, d)
|
||||
of dkCode: result = dirCodeBlock(p)
|
||||
of dkCodeBlock: result = dirCodeBlock(p, nimrodExtension = true)
|
||||
of dkCodeBlock: result = dirCodeBlock(p, nimExtension = true)
|
||||
of dkIndex: result = dirIndex(p)
|
||||
else: rstMessage(p, meInvalidDirective, d)
|
||||
popInd(p)
|
||||
|
||||
@@ -812,7 +812,7 @@ proc parseCodeBlockField(d: PDoc, n: PRstNode, params: var CodeBlockParams) =
|
||||
if parseInt(n.getFieldValue, number) > 0:
|
||||
params.startLine = number
|
||||
of "file":
|
||||
# The ``file`` option is a Nimrod extension to the official spec, it acts
|
||||
# The ``file`` option is a Nim 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
|
||||
@@ -881,7 +881,7 @@ proc renderCodeBlock(d: PDoc, n: PRstNode, result: var string) =
|
||||
## second the code block itself. The code block can use syntax highlighting,
|
||||
## which depends on the directive argument specified by the rst input, and
|
||||
## may also come from the parser through the internal ``default-language``
|
||||
## option to differentiate between a plain code block and nimrod's code block
|
||||
## option to differentiate between a plain code block and Nim's code block
|
||||
## extension.
|
||||
assert n.kind == rnCodeBlock
|
||||
if n.sons[2] == nil: return
|
||||
|
||||
@@ -951,7 +951,7 @@ when isMainModule and not defined(release):
|
||||
var b = initOrderedSet[int]()
|
||||
for x in [2, 4, 5]: b.incl(x)
|
||||
assert($a == $b)
|
||||
assert(a == b) # https://github.com/Araq/Nimrod/issues/1413
|
||||
assert(a == b) # https://github.com/Araq/Nim/issues/1413
|
||||
|
||||
block initBlocks:
|
||||
var a: OrderedSet[int]
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# distribution, for details about the copyright.
|
||||
#
|
||||
|
||||
## This module implements color handling for Nimrod. It is used by
|
||||
## This module implements color handling for Nim. It is used by
|
||||
## the ``graphics`` module.
|
||||
|
||||
import strutils
|
||||
|
||||
@@ -134,7 +134,7 @@ macro `[]`*(lc: ListComprehension, comp, typ: expr): expr =
|
||||
## comprehension, for example ``x | (x <- 1..10, x mod 2 == 0)``. `typ` is
|
||||
## the type that will be stored inside the result seq.
|
||||
##
|
||||
## .. code-block:: nimrod
|
||||
## .. code-block:: nim
|
||||
##
|
||||
## echo lc[x | (x <- 1..10, x mod 2 == 0), int]
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user