mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 13:59:52 +08:00
Markdown Highlighter: speed up at first parse
This commit is contained in:
parent
d2ee3e66d6
commit
c7cb95d18b
@ -29,9 +29,16 @@ HGMarkdownHighlighter::HGMarkdownHighlighter(const QVector<HighlightingStyle> &s
|
||||
const QHash<QString, QTextCharFormat> &codeBlockStyles,
|
||||
int waitInterval,
|
||||
QTextDocument *parent)
|
||||
: QSyntaxHighlighter(parent), highlightingStyles(styles),
|
||||
m_codeBlockStyles(codeBlockStyles), m_numOfCodeBlockHighlightsToRecv(0),
|
||||
parsing(0), waitInterval(waitInterval), content(NULL), capacity(0), result(NULL)
|
||||
: QSyntaxHighlighter(parent),
|
||||
highlightingStyles(styles),
|
||||
m_codeBlockStyles(codeBlockStyles),
|
||||
m_numOfCodeBlockHighlightsToRecv(0),
|
||||
parsing(0),
|
||||
waitInterval(waitInterval),
|
||||
m_firstParse(true),
|
||||
content(NULL),
|
||||
capacity(0),
|
||||
result(NULL)
|
||||
{
|
||||
codeBlockStartExp = QRegExp(VUtils::c_fencedCodeBlockStartRegExp);
|
||||
codeBlockEndExp = QRegExp(VUtils::c_fencedCodeBlockEndRegExp);
|
||||
@ -541,11 +548,15 @@ void HGMarkdownHighlighter::timerTimeout()
|
||||
{
|
||||
qDebug() << "HGMarkdownHighlighter start a new parse";
|
||||
parse();
|
||||
if (!updateCodeBlocks()) {
|
||||
if (!updateCodeBlocks() || m_firstParse) {
|
||||
rehighlight();
|
||||
}
|
||||
|
||||
highlightChanged();
|
||||
|
||||
if (m_firstParse) {
|
||||
m_firstParse = false;
|
||||
}
|
||||
}
|
||||
|
||||
void HGMarkdownHighlighter::updateHighlight()
|
||||
|
@ -190,6 +190,9 @@ private:
|
||||
QTimer *timer;
|
||||
int waitInterval;
|
||||
|
||||
// Whether this is the first parse.
|
||||
bool m_firstParse;
|
||||
|
||||
char *content;
|
||||
int capacity;
|
||||
pmh_element **result;
|
||||
|
Loading…
x
Reference in New Issue
Block a user