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