diff options
author | David Schulz <david.schulz@qt.io> | 2019-03-11 15:13:36 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2019-03-13 12:24:18 +0000 |
commit | 89335266bab86eec591c737828d2b51b667d23dd (patch) | |
tree | f232026c67a4003760861c214aa32ab60fec844a /src/plugins/languageclient/languageclientsettings.cpp | |
parent | 34de118ee3e3611ee5dea2d2d5ff96b5fe67b442 (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.cpp | 14 |
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 ®){ + return reg.exactMatch(filePath.toString()) || reg.exactMatch(filePath.fileName()); + }); +} + } // namespace LanguageClient |