aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2020-11-04 13:43:46 +0100
committerDavid Schulz <david.schulz@qt.io>2020-11-16 08:12:14 +0000
commitc2b6d4567036d7be3946345d3b9e3b154eb2ba0f (patch)
treed2f884f5f7cac4b33d471521828d51c1900aa93f /src
parentb49a9c2d8b13cd7ff20cb28139e7387a09faf0d9 (diff)
Editor: Qt6 compile fixes for KSyntaxHighlighter
Change-Id: I65487a3ccb93efeec3be3971f876d317b5a6bfc6 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter_p.h4
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp9
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/definition.h2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp3
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/format.cpp4
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/htmlhighlighter.cpp12
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist.cpp2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h7
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/repository.h2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp14
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/state.cpp2
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/state_p.h4
-rw-r--r--src/libs/3rdparty/syntax-highlighting/src/lib/xml_p.h2
17 files changed, 39 insertions, 36 deletions
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter_p.h
index 11332fdcfd..6128beccfa 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter_p.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/abstracthighlighter_p.h
@@ -10,10 +10,6 @@
#include "definition.h"
#include "theme.h"
-QT_BEGIN_NAMESPACE
-class QStringList;
-QT_END_NAMESPACE
-
namespace KSyntaxHighlighting
{
class ContextSwitch;
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp
index 14c50396d8..1ec4759103 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch.cpp
@@ -27,7 +27,7 @@ Context *ContextSwitch::context() const
return m_context;
}
-void ContextSwitch::parse(const QStringRef &contextInstr)
+void ContextSwitch::parse(const QStringView &contextInstr)
{
if (contextInstr.isEmpty() || contextInstr == QLatin1String("#stay"))
return;
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h
index c84948d9f7..e861cbaded 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/contextswitch_p.h
@@ -25,7 +25,7 @@ public:
int popCount() const;
Context *context() const;
- void parse(const QStringRef &contextInstr);
+ void parse(const QStringView &contextInstr);
void resolve(const Definition &def);
private:
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp
index fd1debe0f2..0b6975d775 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.cpp
@@ -636,7 +636,8 @@ void DefinitionData::loadGeneral(QXmlStreamReader &reader)
wordDelimiters.remove(c);
// adapt WordWrapDelimiters
- QStringRef wordWrapDeliminatorAttr = reader.attributes().value(QLatin1String("wordWrapDeliminator"));
+ auto wordWrapDeliminatorAttr = reader.attributes().value(
+ QLatin1String("wordWrapDeliminator"));
if (wordWrapDeliminatorAttr.isEmpty())
wordWrapDelimiters = wordDelimiters;
else {
@@ -775,15 +776,15 @@ void DefinitionData::loadSpellchecking(QXmlStreamReader &reader)
}
}
-bool DefinitionData::checkKateVersion(const QStringRef &verStr)
+bool DefinitionData::checkKateVersion(const QStringView &verStr)
{
const auto idx = verStr.indexOf(QLatin1Char('.'));
if (idx <= 0) {
qCWarning(Log) << "Skipping" << fileName << "due to having no valid kateversion attribute:" << verStr;
return false;
}
- const auto major = verStr.left(idx).toInt();
- const auto minor = verStr.mid(idx + 1).toInt();
+ const auto major = verStr.left(idx).toString().toInt();
+ const auto minor = verStr.mid(idx + 1).toString().toInt();
if (major > SyntaxHighlighting_VERSION_MAJOR || (major == SyntaxHighlighting_VERSION_MAJOR && minor > SyntaxHighlighting_VERSION_MINOR)) {
qCWarning(Log) << "Skipping" << fileName << "due to being too new, version:" << verStr;
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.h b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.h
index 0cc2df70d0..8226fbdd24 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/definition.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definition.h
@@ -17,8 +17,6 @@
QT_BEGIN_NAMESPACE
class QChar;
class QString;
-class QStringList;
-template<typename T> class QVector;
QT_END_NAMESPACE
namespace KSyntaxHighlighting
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h
index c334e31ac0..274f7640b5 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definition_p.h
@@ -53,7 +53,7 @@ public:
void loadComments(QXmlStreamReader &reader);
void loadFoldingIgnoreList(QXmlStreamReader &reader);
void loadSpellchecking(QXmlStreamReader &reader);
- bool checkKateVersion(const QStringRef &verStr);
+ bool checkKateVersion(const QStringView &verStr);
void resolveIncludeKeywords();
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp
index 9ec6e366b0..35bb29f82f 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/definitiondownloader.cpp
@@ -163,7 +163,8 @@ void DefinitionDownloader::start()
{
const QString url = QLatin1String("https://www.kate-editor.org/syntax/update-") + QString::number(SyntaxHighlighting_VERSION_MAJOR) + QLatin1Char('.') + QString::number(SyntaxHighlighting_VERSION_MINOR) + QLatin1String(".xml");
auto req = QNetworkRequest(QUrl(url));
- req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
+ req.setAttribute(QNetworkRequest::RedirectPolicyAttribute,
+ QNetworkRequest::NoLessSafeRedirectPolicy);
auto reply = d->nam->get(req);
QObject::connect(reply, &QNetworkReply::finished, this, [=]() { d->definitionListDownloadFinished(reply); });
}
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/format.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/format.cpp
index b48f0e7d5c..716ff197af 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/format.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/format.cpp
@@ -19,7 +19,7 @@
using namespace KSyntaxHighlighting;
-static Theme::TextStyle stringToDefaultFormat(const QStringRef &str)
+static Theme::TextStyle stringToDefaultFormat(const QStringView &str)
{
if (!str.startsWith(QLatin1String("ds")))
return Theme::Normal;
@@ -231,7 +231,7 @@ void FormatPrivate::load(QXmlStreamReader &reader)
name = reader.attributes().value(QLatin1String("name")).toString();
defaultStyle = stringToDefaultFormat(reader.attributes().value(QLatin1String("defStyleNum")));
- QStringRef attribute = reader.attributes().value(QLatin1String("color"));
+ QStringView attribute = reader.attributes().value(QLatin1String("color"));
if (!attribute.isEmpty()) {
style.textColor = QColor(attribute.toString()).rgba();
}
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/htmlhighlighter.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/htmlhighlighter.cpp
index 7594d33d23..a95888f40f 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/htmlhighlighter.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/htmlhighlighter.cpp
@@ -44,13 +44,21 @@ void HtmlHighlighter::setOutputFile(const QString &fileName)
return;
}
d->out.reset(new QTextStream(d->file.get()));
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ d->out->setEncoding(QStringConverter::Utf8);
+#else
d->out->setCodec("UTF-8");
+#endif
}
void HtmlHighlighter::setOutputFile(FILE *fileHandle)
{
d->out.reset(new QTextStream(fileHandle, QIODevice::WriteOnly));
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ d->out->setEncoding(QStringConverter::Utf8);
+#else
d->out->setCodec("UTF-8");
+#endif
}
void HtmlHighlighter::highlightFile(const QString &fileName, const QString &title)
@@ -94,7 +102,11 @@ void HtmlHighlighter::highlightData(QIODevice *dev, const QString &title)
*d->out << "\"><pre>\n";
QTextStream in(dev);
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ in.setEncoding(QStringConverter::Utf8);
+#else
in.setCodec("UTF-8");
+#endif
while (!in.atEnd()) {
d->currentLine = in.readLine();
state = highlightLine(d->currentLine, state);
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist.cpp
index 8a335c4cc4..b599ce29a1 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist.cpp
@@ -16,7 +16,7 @@
using namespace KSyntaxHighlighting;
-bool KeywordList::contains(const QStringRef &str, Qt::CaseSensitivity caseSensitive) const
+bool KeywordList::contains(const QStringView &str, Qt::CaseSensitivity caseSensitive) const
{
/**
* get right vector to search in
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h
index bf067cc3cf..68b1ec6290 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/keywordlist_p.h
@@ -53,13 +53,10 @@ public:
}
/** Checks if @p str is a keyword in this list. */
- bool contains(const QStringRef &str) const
- {
- return contains(str, m_caseSensitive);
- }
+ bool contains(const QStringView &str) const { return contains(str, m_caseSensitive); }
/** Checks if @p str is a keyword in this list, overriding the global case-sensitivity setting. */
- bool contains(const QStringRef &str, Qt::CaseSensitivity caseSensitive) const;
+ bool contains(const QStringView &str, Qt::CaseSensitivity caseSensitive) const;
void load(QXmlStreamReader &reader);
void setCaseSensitivity(Qt::CaseSensitivity caseSensitive);
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/repository.h b/src/libs/3rdparty/syntax-highlighting/src/lib/repository.h
index d24aa92703..9da4474685 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/repository.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/repository.h
@@ -11,10 +11,10 @@
#include <memory>
#include <qglobal.h>
+#include <qvector.h>
QT_BEGIN_NAMESPACE
class QString;
-template<typename T> class QVector;
QT_END_NAMESPACE
/**
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp
index c5cf1919a7..22f59e0211 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/rule.cpp
@@ -151,7 +151,7 @@ bool Rule::doLoad(QXmlStreamReader &reader)
return true;
}
-Rule::Ptr Rule::create(const QStringRef &name)
+Rule::Ptr Rule::create(const QStringView &name)
{
if (name == QLatin1String("AnyChar"))
return std::make_shared<AnyChar>();
@@ -414,7 +414,7 @@ bool IncludeRules::doLoad(QXmlStreamReader &reader)
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)
const auto split = s.split(QLatin1String("##"), QString::KeepEmptyParts);
#else
- const auto split = s.split(QLatin1String("##"), Qt::KeepEmptyParts);
+ const auto split = s.split(QString::fromLatin1("##"), Qt::KeepEmptyParts);
#endif
if (split.isEmpty())
return false;
@@ -478,10 +478,11 @@ MatchResult KeywordListRule::doMatch(const QString &text, int offset, const QStr
return offset;
if (m_hasCaseSensitivityOverride) {
- if (m_keywordList->contains(text.midRef(offset, newOffset - offset), m_caseSensitivityOverride))
+ if (m_keywordList->contains(QStringView(text).mid(offset, newOffset - offset),
+ m_caseSensitivityOverride))
return newOffset;
} else {
- if (m_keywordList->contains(text.midRef(offset, newOffset - offset)))
+ if (m_keywordList->contains(QStringView(text).mid(offset, newOffset - offset)))
return newOffset;
}
@@ -605,7 +606,8 @@ MatchResult StringDetect::doMatch(const QString &text, int offset, const QString
*/
const auto &pattern = m_dynamic ? replaceCaptures(m_string, captures, false) : m_string;
- if (text.midRef(offset, pattern.size()).compare(pattern, m_caseSensitivity) == 0)
+ if (offset + pattern.size() <= text.size()
+ && QStringView(text).mid(offset, pattern.size()).compare(pattern, m_caseSensitivity) == 0)
return offset + pattern.size();
return offset;
}
@@ -629,7 +631,7 @@ MatchResult WordDetect::doMatch(const QString &text, int offset, const QStringLi
if (offset > 0 && !isWordDelimiter(text.at(offset - 1)) && !isWordDelimiter(text.at(offset)))
return offset;
- if (text.midRef(offset, m_word.size()).compare(m_word, m_caseSensitivity) != 0)
+ if (QStringView(text).mid(offset, m_word.size()).compare(m_word, m_caseSensitivity) != 0)
return offset;
if (text.size() == offset + m_word.size() || isWordDelimiter(text.at(offset + m_word.size())) || isWordDelimiter(text.at(offset + m_word.size() - 1)))
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h
index 288f66246e..788aecdad3 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/rule_p.h
@@ -86,7 +86,7 @@ public:
virtual MatchResult doMatch(const QString &text, int offset, const QStringList &captures) const = 0;
- static Rule::Ptr create(const QStringRef &name);
+ static Rule::Ptr create(const QStringView &name);
protected:
virtual bool doLoad(QXmlStreamReader &reader);
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/state.cpp b/src/libs/3rdparty/syntax-highlighting/src/lib/state.cpp
index ea5bd36e4f..f9b4f4b4ab 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/state.cpp
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/state.cpp
@@ -56,7 +56,7 @@ bool StateData::pop(int popCount)
// keep the initial context alive in any case
Q_ASSERT(!isEmpty());
const bool initialContextSurvived = m_contextStack.size() > popCount;
- m_contextStack.resize(std::max(1, m_contextStack.size() - popCount));
+ m_contextStack.resize(std::max(1, int(m_contextStack.size()) - popCount));
return initialContextSurvived;
}
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/state_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/state_p.h
index 80bf8f4b02..d76f84c93b 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/state_p.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/state_p.h
@@ -13,10 +13,6 @@
#include "definitionref_p.h"
-QT_BEGIN_NAMESPACE
-class QStringList;
-QT_END_NAMESPACE
-
namespace KSyntaxHighlighting
{
class Context;
diff --git a/src/libs/3rdparty/syntax-highlighting/src/lib/xml_p.h b/src/libs/3rdparty/syntax-highlighting/src/lib/xml_p.h
index 65f46a6abc..018269c485 100644
--- a/src/libs/3rdparty/syntax-highlighting/src/lib/xml_p.h
+++ b/src/libs/3rdparty/syntax-highlighting/src/lib/xml_p.h
@@ -15,7 +15,7 @@ namespace KSyntaxHighlighting
namespace Xml
{
/** Parse a xs:boolean attribute. */
-inline bool attrToBool(const QStringRef &str)
+inline bool attrToBool(const QStringView &str)
{
return str == QLatin1String("1") || str.compare(QLatin1String("true"), Qt::CaseInsensitive) == 0;
}