Spec-Zone.ru › Nim 1

rst

Этот модуль реализует парсер reStructuredText. Реализовано большое подмножество. Также поддерживаются некоторые функции синтаксиса вики-разметки markdown.

Примечание: Импортировать packages/docutils/rst для использования этого модуля

Импорты

rstast

Типы

RstParseOption = enum
  roSkipPounds,             ## skip ``#`` at line beginning (documentation
                             ## embedded in Nim comments)
  roSupportSmilies,         ## make the RST parser support smilies like ``:)``
  roSupportRawDirective,    ## support the ``raw`` directive (don't support
                             ## it for sandboxing)
  roSupportMarkdown          ## support additional features of 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) {...}{.raises: [ValueError, EParseError, IOError],
                                      tags: [WriteIOEffect].}
Исходный код Редактировать
proc defaultFindFile(filename: string): string {...}{.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].}
Исходный код Редактировать

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/rst.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API