On this page
rstast
This module implements an AST for the reStructuredText parser.
Note: Import packages/docutils/rstast to use this module
Types
- 
    
RstNodeKind = enum rnInner, rnHeadline, rnOverline, rnTransition, rnParagraph, rnBulletList, rnBulletItem, rnEnumList, rnEnumItem, rnDefList, rnDefItem, rnDefName, rnDefBody, rnFieldList, rnField, rnFieldName, rnFieldBody, rnOptionList, rnOptionListItem, rnOptionGroup, rnOption, rnOptionString, rnOptionArgument, rnDescription, rnLiteralBlock, rnQuotedLiteralBlock, rnLineBlock, rnLineBlockItem, rnBlockQuote, rnTable, rnGridTable, rnTableRow, rnTableHeaderCell, rnTableDataCell, rnLabel, rnFootnote, rnCitation, rnStandaloneHyperlink, rnHyperlink, rnRef, rnDirective, rnDirArg, rnRaw, rnTitle, rnContents, rnImage, rnFigure, rnCodeBlock, rnRawHtml, rnRawLatex, rnContainer, rnIndex, rnSubstitutionDef, rnGeneralRole, rnSub, rnSup, rnIdx, rnEmphasis, rnStrongEmphasis, rnTripleEmphasis, rnInterpretedText, rnInlineLiteral, rnSubstitutionReferences, rnSmiley, rnLeaf - the possible node kinds of an PRstNode Source Edit
 - 
    
PRstNode = ref RstNode - an RST node Source Edit
 - 
    
RstNodeSeq = seq[PRstNode] - Source Edit
 - 
    
RstNode {...}{.acyclic, final.} = object kind*: RstNodeKind ## the node's kind text*: string ## valid for leafs in the AST; and the title of ## the document or the section level*: int ## valid for some node kinds sons*: RstNodeSeq ## the node's sons - an RST node's description Source Edit
 
Procs
- 
    
proc len(n: PRstNode): int {...}{.raises: [], tags: [].} - Source Edit
 - 
    
proc newRstNode(kind: RstNodeKind): PRstNode {...}{.raises: [], tags: [].} - Source Edit
 - 
    
proc newRstNode(kind: RstNodeKind; s: string): PRstNode {...}{.raises: [], tags: [].} - Source Edit
 - 
    
proc lastSon(n: PRstNode): PRstNode {...}{.raises: [], tags: [].} - Source Edit
 - 
    
proc add(father, son: PRstNode) {...}{.raises: [], tags: [].} - Source Edit
 - 
    
proc add(father: PRstNode; s: string) {...}{.raises: [], tags: [].} - Source Edit
 - 
    
proc addIfNotNil(father, son: PRstNode) {...}{.raises: [], tags: [].} - Source Edit
 - 
    
proc renderRstToRst(n: PRstNode; result: var string) {...}{.raises: [Exception], tags: [RootEffect].} - 
    renders 
ninto its string representation and appends toresult. Source Edit - 
    
proc renderRstToJson(node: PRstNode): string {...}{.raises: [], tags: [].} - 
    Writes the given RST node as JSON that is in the form
    
Source Edit{ "kind":string node.kind, "text":optional string node.text, "level":optional int node.level, "sons":optional node array } 
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
 https://nim-lang.org/docs/rstast.html