1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
<!DOCTYPE html>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>test.diff</title>
<meta name="generator" content="KF5::SyntaxHighlighting - Definition (Diff) - Theme (Breeze Dark)"/>
</head><body style="background-color:#232629;color:#cfcfc2"><pre>
commit 2b16665838c8afeaa0f065cafc747438de35876b
Author: Volker Krause <vkrause@kde.org>
Date: Sat Oct 8 13:31:51 2016 +0200
Implement dynamic DetectChar rules
Needed for Perl highlighting.
<span style="font-weight:bold">diff --git a/src/lib/rule.cpp b/src/lib/rule.cpp</span>
index f588985..c4c3b92 100644
<span style="color:#2980b9">--- a/src/lib/rule.cpp</span>
<span style="color:#2980b9">+++ b/src/lib/rule.cpp</span>
<span style="color:#2980b9">@@ -308,12 +308,22 @@ bool DetectChar::doLoad(QXmlStreamReader& reader)</span>
if (s.isEmpty())
return false;
m_char = s.at(0);
<span style="color:#27aeae">+ if (isDynamic()) {</span>
<span style="color:#27aeae">+ m_captureIndex = m_char.digitValue();</span>
<span style="color:#27aeae">+ }</span>
return true;
}
MatchResult DetectChar::doMatch(const QString& text, int offset, const QStringList &captures)
{
<span style="color:#f44f4f">- Q_UNUSED(captures); // TODO</span>
<span style="color:#27aeae">+ if (isDynamic()) {</span>
<span style="color:#27aeae">+ if (captures.size() <= m_captureIndex || captures.at(m_captureIndex).isEmpty())</span>
<span style="color:#27aeae">+ return offset;</span>
<span style="color:#27aeae">+ if (text.at(offset) == captures.at(m_captureIndex).at(0))</span>
<span style="color:#27aeae">+ return offset + 1;</span>
<span style="color:#27aeae">+ return offset;</span>
<span style="color:#27aeae">+ }</span>
<span style="color:#27aeae">+</span>
if (text.at(offset) == m_char)
return offset + 1;
return offset;
<span style="font-weight:bold">diff --git a/src/lib/rule_p.h b/src/lib/rule_p.h</span>
index d8862ae..d9cedbf 100644
<span style="color:#2980b9">--- a/src/lib/rule_p.h</span>
<span style="color:#2980b9">+++ b/src/lib/rule_p.h</span>
<span style="color:#2980b9">@@ -103,6 +103,7 @@ protected:</span>
private:
QChar m_char;
<span style="color:#27aeae">+ int m_captureIndex;</span>
};
class Detect2Char : public Rule
</pre></body></html>
|