summaryrefslogtreecommitdiff
path: root/src/plugins/beautifier
diff options
context:
space:
mode:
authorLorenz Haas <lorenz.haas@histomatics.de>2017-02-23 19:36:35 +0100
committerLorenz Haas <lorenz.haas@histomatics.de>2017-02-23 21:42:45 +0000
commitf04c535ad2a1a2332c81ce69f24195d5271e1ebe (patch)
tree90a54e8e074b1265ee974e7dd824ffa908160a88 /src/plugins/beautifier
parent037a96aefdb99c9e4cc714038078df4a37af67d4 (diff)
downloadqt-creator-f04c535ad2a1a2332c81ce69f24195d5271e1ebe.tar.gz
Beautifier: Get rid of QRegExp
Change-Id: If3f7e6d93ef1f0b6920f0958f1e2eb00c37462bf Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/beautifier')
-rw-r--r--src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp12
-rw-r--r--src/plugins/beautifier/beautifierplugin.cpp7
-rw-r--r--src/plugins/beautifier/configurationdialog.cpp6
-rw-r--r--src/plugins/beautifier/configurationeditor.cpp29
-rw-r--r--src/plugins/beautifier/configurationeditor.h10
5 files changed, 31 insertions, 33 deletions
diff --git a/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp b/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp
index 51a32863c4..da73a5a47e 100644
--- a/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp
+++ b/src/plugins/beautifier/artisticstyle/artisticstylesettings.cpp
@@ -37,6 +37,7 @@
#include <QDateTime>
#include <QFile>
#include <QFileInfo>
+#include <QRegularExpression>
#include <QXmlStreamWriter>
namespace Beautifier {
@@ -67,10 +68,11 @@ ArtisticStyleSettings::ArtisticStyleSettings() :
static int parseVersion(const QString &text)
{
// The version in Artistic Style is printed like "Artistic Style Version 2.04"
- const QRegExp rx("([2-9]{1})\\.([0-9]{2})(\\.[1-9]{1})?$");
- if (rx.indexIn(text) != -1) {
- const int major = rx.cap(1).toInt() * 100;
- const int minor = rx.cap(2).toInt();
+ const QRegularExpression rx("([2-9]{1})\\.([0-9]{2})(\\.[1-9]{1})?$");
+ const QRegularExpressionMatch match = rx.match(text);
+ if (match.hasMatch()) {
+ const int major = match.capturedRef(1).toInt() * 100;
+ const int minor = match.capturedRef(2).toInt();
return major + minor;
}
return 0;
@@ -200,7 +202,7 @@ void ArtisticStyleSettings::createDocumentationFile() const
stream.writeTextElement(Constants::DOCUMENTATION_XMLKEY, key);
stream.writeEndElement();
const QString text = "<p><span class=\"option\">"
- + keys.filter(QRegExp("^\\-")).join(", ") + "</span></p><p>"
+ + keys.filter(QRegularExpression("^\\-")).join(", ") + "</span></p><p>"
+ (docu.join(' ').toHtmlEscaped()) + "</p>";
stream.writeTextElement(Constants::DOCUMENTATION_XMLDOC, text);
stream.writeEndElement();
diff --git a/src/plugins/beautifier/beautifierplugin.cpp b/src/plugins/beautifier/beautifierplugin.cpp
index 7cd1a9162e..213b429049 100644
--- a/src/plugins/beautifier/beautifierplugin.cpp
+++ b/src/plugins/beautifier/beautifierplugin.cpp
@@ -152,8 +152,11 @@ FormatTask format(FormatTask task)
const bool returnsCRLF = task.command.returnsCRLF();
if (addsNewline || returnsCRLF) {
task.formattedData = QString::fromUtf8(process.readAllStandardOutput());
- if (addsNewline)
- task.formattedData.remove(QRegExp("(\\r\\n|\\n)$"));
+ if (addsNewline && task.formattedData.endsWith('\n')) {
+ task.formattedData.chop(1);
+ if (task.formattedData.endsWith('\r'))
+ task.formattedData.chop(1);
+ }
if (returnsCRLF)
task.formattedData.replace("\r\n", "\n");
return task;
diff --git a/src/plugins/beautifier/configurationdialog.cpp b/src/plugins/beautifier/configurationdialog.cpp
index 3371309f32..48fcd18483 100644
--- a/src/plugins/beautifier/configurationdialog.cpp
+++ b/src/plugins/beautifier/configurationdialog.cpp
@@ -32,7 +32,7 @@
#include <texteditor/texteditorsettings.h>
#include <QPushButton>
-#include <QRegExpValidator>
+#include <QRegularExpressionValidator>
namespace Beautifier {
namespace Internal {
@@ -44,8 +44,8 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent) :
ui->setupUi(this);
// Filter out characters which are not allowed in a file name
- QRegExpValidator *fileNameValidator = new QRegExpValidator(ui->name);
- fileNameValidator->setRegExp(QRegExp("^[^\\/\\\\\\?\\>\\<\\*\\%\\:\\\"\\']*$"));
+ QRegularExpressionValidator *fileNameValidator = new QRegularExpressionValidator(
+ QRegularExpression("^[^\\/\\\\\\?\\>\\<\\*\\%\\:\\\"\\']*$"), ui->name);
ui->name->setValidator(fileNameValidator);
updateDocumentation();
diff --git a/src/plugins/beautifier/configurationeditor.cpp b/src/plugins/beautifier/configurationeditor.cpp
index 29e0151d79..69568b2507 100644
--- a/src/plugins/beautifier/configurationeditor.cpp
+++ b/src/plugins/beautifier/configurationeditor.cpp
@@ -47,7 +47,6 @@ ConfigurationSyntaxHighlighter::ConfigurationSyntaxHighlighter(QTextDocument *pa
m_formatComment = fs.toTextCharFormat(TextEditor::C_COMMENT);
m_expressionComment.setPattern("#[^\\n]*");
- m_expressionComment.setMinimal(false);
}
void ConfigurationSyntaxHighlighter::setKeywords(const QStringList &keywords)
@@ -59,35 +58,29 @@ void ConfigurationSyntaxHighlighter::setKeywords(const QStringList &keywords)
QStringList pattern;
for (const QString &word : keywords) {
if (!word.isEmpty())
- pattern << QRegExp::escape(word);
+ pattern << QRegularExpression::escape(word);
}
m_expressionKeyword.setPattern("(?:\\s|^)(" + pattern.join('|') + ")(?=\\s|\\:|\\=|\\,|$)");
}
-void ConfigurationSyntaxHighlighter::setCommentExpression(const QRegExp &rx)
+void ConfigurationSyntaxHighlighter::setCommentExpression(const QRegularExpression &rx)
{
m_expressionComment = rx;
}
void ConfigurationSyntaxHighlighter::highlightBlock(const QString &text)
{
- int pos = 0;
- if (!m_expressionKeyword.isEmpty()) {
- while ((pos = m_expressionKeyword.indexIn(text, pos)) != -1) {
- const int length = m_expressionKeyword.matchedLength();
- setFormat(pos, length, m_formatKeyword);
- pos += length;
- }
+ QRegularExpressionMatchIterator it = m_expressionKeyword.globalMatch(text);
+ while (it.hasNext()) {
+ const QRegularExpressionMatch match = it.next();
+ setFormat(match.capturedStart(), match.capturedLength(), m_formatKeyword);
}
- if (!m_expressionComment.isEmpty()) {
- pos = 0;
- while ((pos = m_expressionComment.indexIn(text, pos)) != -1) {
- const int length = m_expressionComment.matchedLength();
- setFormat(pos, length, m_formatComment);
- pos += length;
- }
+ it = m_expressionComment.globalMatch(text);
+ while (it.hasNext()) {
+ const QRegularExpressionMatch match = it.next();
+ setFormat(match.capturedStart(), match.capturedLength(), m_formatComment);
}
}
@@ -123,7 +116,7 @@ void ConfigurationEditor::setSettings(AbstractSettings *settings)
m_model->setStringList(keywords);
}
-void ConfigurationEditor::setCommentExpression(const QRegExp &rx)
+void ConfigurationEditor::setCommentExpression(const QRegularExpression &rx)
{
m_highlighter->setCommentExpression(rx);
}
diff --git a/src/plugins/beautifier/configurationeditor.h b/src/plugins/beautifier/configurationeditor.h
index e49c009d17..b89ae70b55 100644
--- a/src/plugins/beautifier/configurationeditor.h
+++ b/src/plugins/beautifier/configurationeditor.h
@@ -26,7 +26,7 @@
#pragma once
#include <QPlainTextEdit>
-#include <QRegExp>
+#include <QRegularExpression>
#include <QString>
#include <QStringList>
#include <QSyntaxHighlighter>
@@ -50,14 +50,14 @@ class ConfigurationSyntaxHighlighter : public QSyntaxHighlighter
public:
explicit ConfigurationSyntaxHighlighter(QTextDocument *parent);
void setKeywords(const QStringList &keywords);
- void setCommentExpression(const QRegExp &rx);
+ void setCommentExpression(const QRegularExpression &rx);
protected:
void highlightBlock(const QString &text) override;
private:
- QRegExp m_expressionKeyword;
- QRegExp m_expressionComment;
+ QRegularExpression m_expressionKeyword;
+ QRegularExpression m_expressionComment;
QTextCharFormat m_formatKeyword;
QTextCharFormat m_formatComment;
};
@@ -69,7 +69,7 @@ class ConfigurationEditor : public QPlainTextEdit
public:
explicit ConfigurationEditor(QWidget *parent = nullptr);
void setSettings(AbstractSettings *settings);
- void setCommentExpression(const QRegExp &rx);
+ void setCommentExpression(const QRegularExpression &rx);
protected:
bool eventFilter(QObject *object, QEvent *event) override;