aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/languageclient/languageclientsettings.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2019-03-11 15:13:36 +0100
committerDavid Schulz <david.schulz@qt.io>2019-03-13 12:24:18 +0000
commit89335266bab86eec591c737828d2b51b667d23dd (patch)
treef232026c67a4003760861c214aa32ab60fec844a /src/plugins/languageclient/languageclientsettings.cpp
parent34de118ee3e3611ee5dea2d2d5ff96b5fe67b442 (diff)
LanguageClient: move match function to language filter
Change-Id: I9081d441fa2f48e5a1c5273e2de2620e0b88c4e0 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/languageclient/languageclientsettings.cpp')
-rw-r--r--src/plugins/languageclient/languageclientsettings.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp
index c777247fb4d..bf344d87bbe 100644
--- a/src/plugins/languageclient/languageclientsettings.cpp
+++ b/src/plugins/languageclient/languageclientsettings.cpp
@@ -719,4 +719,18 @@ QString StdIOSettingsWidget::arguments() const
return m_arguments->text();
}
+bool LanguageFilter::isSupported(const Utils::FileName &filePath, const QString &mimeType) const
+{
+ if (mimeTypes.isEmpty() && filePattern.isEmpty())
+ return true;
+ if (mimeTypes.contains(mimeType))
+ return true;
+ auto regexps = Utils::transform(filePattern, [](const QString &pattern){
+ return QRegExp(pattern, Utils::HostOsInfo::fileNameCaseSensitivity(), QRegExp::Wildcard);
+ });
+ return Utils::anyOf(regexps, [filePath](const QRegExp &reg){
+ return reg.exactMatch(filePath.toString()) || reg.exactMatch(filePath.fileName());
+ });
+}
+
} // namespace LanguageClient