aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/languageclient/languageclientsettings.cpp
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2020-06-18 13:06:27 +0200
committerChristian Stenger <christian.stenger@qt.io>2020-06-19 12:48:54 +0000
commit119a3c1ce99420e578af1a10195f779d5d33a83b (patch)
treec503a321229796a4ad6494b2067b1bd7dfb13182 /src/plugins/languageclient/languageclientsettings.cpp
parente817100b9cddad04c6b65c5d3985f3fe3e54ee06 (diff)
LanguageClient: Replace QRegexp by QRegularExpression
Task-number: QTCREATORBUG-24098 Change-Id: Ic8259ded3f721957bd04aa00146b20bd90b41dcd Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/languageclient/languageclientsettings.cpp')
-rw-r--r--src/plugins/languageclient/languageclientsettings.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp
index 87530aaf3d2..1cb53dafffe 100644
--- a/src/plugins/languageclient/languageclientsettings.cpp
+++ b/src/plugins/languageclient/languageclientsettings.cpp
@@ -955,11 +955,16 @@ bool LanguageFilter::isSupported(const Utils::FilePath &filePath, const QString
return true;
if (filePattern.isEmpty() && filePath.isEmpty())
return mimeTypes.isEmpty();
- auto regexps = Utils::transform(filePattern, [](const QString &pattern){
- return QRegExp(pattern, Utils::HostOsInfo::fileNameCaseSensitivity(), QRegExp::Wildcard);
+ const QRegularExpression::PatternOptions options
+ = Utils::HostOsInfo::fileNameCaseSensitivity() == Qt::CaseInsensitive
+ ? QRegularExpression::CaseInsensitiveOption : QRegularExpression::NoPatternOption;
+ auto regexps = Utils::transform(filePattern, [&options](const QString &pattern){
+ return QRegularExpression(QRegularExpression::wildcardToRegularExpression(pattern),
+ options);
});
- return Utils::anyOf(regexps, [filePath](const QRegExp &reg){
- return reg.exactMatch(filePath.toString()) || reg.exactMatch(filePath.fileName());
+ return Utils::anyOf(regexps, [filePath](const QRegularExpression &reg){
+ return reg.match(filePath.toString()).hasMatch()
+ || reg.match(filePath.fileName()).hasMatch();
});
}