rst

このモジュールは reStructuredText パーサーの実装です。大規模サブセットを実装してあります。markdown Wiki シンタックスの一部機能もサポートしています。

備考: このモジュールを使うには packages/docutils/rst をインポートしてください。

RstParseOption = enum
  roSkipPounds,               ## ``#`` で始まる行は読み飛します
               ##  (Nim コメントによる埋め込みドキュメンテーション)
  roSupportSmilies,           ## ``:)`` などの顔文字を RST パーサーでサポート可能にします
  roSupportRawDirective,      ## ``raw`` ディレクティブのサポート
                        ## (サンドボックス化はサポートしていません)
  roSupportMarkdown           ## markdown に関する追加機能のサポート
RST パーサーのオプション   ソース 編集
RstParseOptions = set[RstParseOption]
  ソース 編集
MsgClass = enum
  mcHint = "Hint", mcWarning = "Warning", mcError = "Error"
  ソース 編集
MsgKind = enum
  meCannotOpenFile, meExpected, meGridTableNotImplemented, meNewSectionExpected,
  meGeneralParseError, meInvalidDirective, mwRedefinitionOfLabel,
  mwUnknownSubstitution, mwUnsupportedLanguage, mwUnsupportedField
利用可能メッセージ   ソース 編集
MsgHandler = proc (filename: string; line, col: int; msgKind: MsgKind; arg: string) {...}{.
    closure, gcsafe.}
エラー発生時の処理内容   ソース 編集
FindFileHandler = proc (filename: string): string {...}{.closure, gcsafe.}
  ソース 編集
EParseError = object of ValueError
  ソース 編集

プロシージャ

proc whichMsgClass(k: MsgKind): MsgClass {...}{.raises: [], tags: [].}
メッセージクラス k の所属先を返します。  ソース 編集
proc defaultMsgHandler(filename: string; line, col: int; msgkind: MsgKind; arg: string) {...}{.
    procvar, raises: [ValueError, EParseError, IOError], tags: [WriteIOEffect].}
  ソース 編集
proc defaultFindFile(filename: string): string {...}{.procvar, raises: [],
    tags: [ReadDirEffect].}
  ソース 編集
proc addNodes(n: PRstNode): string {...}{.raises: [], tags: [].}
  ソース 編集
proc rstnodeToRefname(n: PRstNode): string {...}{.raises: [], tags: [].}
  ソース 編集
proc getFieldValue(n: PRstNode): string {...}{.raises: [], tags: [].}

指定された rnField ノードの値を返します。

このプロシージャはノートが想定された型ではない場合にアラートを行います。空文字列は最小値として返されます。rst の値は先頭・末尾のホワイトスペースを除去した形式です。

  ソース 編集
proc getFieldValue(n: PRstNode; fieldname: string): string {...}{.raises: [], tags: [].}
  ソース 編集
proc getArgument(n: PRstNode): string {...}{.raises: [], tags: [].}
  ソース 編集
proc rstParse(text, filename: string; line, column: int; hasToc: var bool;
             options: RstParseOptions; findFile: FindFileHandler = nil;
             msgHandler: MsgHandler = nil): PRstNode {...}{.raises: [Exception],
    tags: [ReadEnvEffect, RootEffect].}
  ソース 編集