forked from qt-creator/qt-creator
LanguageClient: Fix file path filter handling
Avoid sending files to a language server without a file path, like temporary generated files. Only allow this if the file matches the MIME type of the language server. Change-Id: Ibf71a7196c387a2c8bf345db24c0005ba8fbdfb1 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -650,8 +650,8 @@ QString BaseSettingsWidget::name() const
|
||||
|
||||
LanguageFilter BaseSettingsWidget::filter() const
|
||||
{
|
||||
return {m_mimeTypes->text().split(filterSeparator),
|
||||
m_filePattern->text().split(filterSeparator)};
|
||||
return {m_mimeTypes->text().split(filterSeparator, QString::SkipEmptyParts),
|
||||
m_filePattern->text().split(filterSeparator, QString::SkipEmptyParts)};
|
||||
}
|
||||
|
||||
BaseSettings::StartBehavior BaseSettingsWidget::startupBehavior() const
|
||||
@@ -784,10 +784,10 @@ QString StdIOSettingsWidget::arguments() const
|
||||
|
||||
bool LanguageFilter::isSupported(const Utils::FilePath &filePath, const QString &mimeType) const
|
||||
{
|
||||
if (mimeTypes.isEmpty() && filePattern.isEmpty())
|
||||
return true;
|
||||
if (mimeTypes.contains(mimeType))
|
||||
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);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user