1 #ifndef MARKDOWNTOKENIZER_H
2 #define MARKDOWNTOKENIZER_H
8 #include "MarkdownToken.h"
45 void tokenize(
const QString &text, TokenState current, TokenState previous, TokenState next);
47 typedef QMap<int, MarkdownToken> TokenPositionMap;
49 TokenPositionMap tokens()
const;
51 TokenState state()
const;
53 bool shouldBackTrack()
const;
59 MarkdownToken::TokenType tokenType,
62 const int markupStartCount = 0,
63 const int markupEndCount = 0,
64 const bool replaceMarkupChars =
false,
65 const bool replaceAllChars =
false
68 void setState(TokenState state);
69 void setStartEarlier(
const bool startEarlier);
71 bool tokenizeSetextHeadingLine1(
const QString& text);
72 bool tokenizeSetextHeadingLine2(
const QString& text);
73 bool tokenizeAtxHeading(
const QString& text);
75 bool tokenizeNumberedList(
const QString& text);
76 bool tokenizeBulletPointList(
const QString& text);
77 bool tokenizeHorizontalRule(
const QString& text);
78 bool tokenizeBlockquote(
const QString& text);
79 bool tokenizeCodeBlock(
const QString& text);
80 bool tokenizeMultilineComment(
const QString& text);
82 bool tokenizeInline(
const QString& text);
83 void tokenizeVerbatim(QString& text);
84 void tokenizeHtmlComments(QString& text);
85 void tokenizeTableHeaderRow(QString& text);
86 bool tokenizeTableDivider(
const QString& text);
87 void tokenizeTableRow(QString& text);
90 TokenState m_previous;
93 TokenPositionMap m_tokens;
96 QRegExp paragraphBreakRegex;
97 QRegExp heading1SetextRegex;
98 QRegExp heading2SetextRegex;
99 QRegExp blockquoteRegex;
100 QRegExp githubCodeFenceStartRegex;
101 QRegExp githubCodeFenceEndRegex;
102 QRegExp pandocCodeFenceStartRegex;
103 QRegExp pandocCodeFenceEndRegex;
104 QRegExp numberedListRegex;
105 QRegExp numberedNestedListRegex;
107 QRegExp emphasisRegex;
109 QRegExp strikethroughRegex;
110 QRegExp verbatimRegex;
111 QRegExp htmlTagRegex;
112 QRegExp htmlEntityRegex;
113 QRegExp automaticLinkRegex;
114 QRegExp inlineLinkRegex;
115 QRegExp referenceLinkRegex;
116 QRegExp referenceDefinitionRegex;
118 QRegExp htmlInlineCommentRegex;
119 QRegExp mentionRegex;
120 QRegExp pipeTableDividerRegex;
124 #endif // MARKDOWNTOKENIZER_H