forked from qt-creator/qt-creator
LSP: let the settings generate the client
In preperation for settings other than the stdio client. Change-Id: I11635119db9165163947d822e911ee26ce8548f1 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -371,7 +371,7 @@ void LanguageClientSettingsModel::applyChanges()
|
||||
}
|
||||
for (auto setting : toStart) {
|
||||
if (setting.isValid() && setting.m_enabled)
|
||||
LanguageClientManager::startClient(setting);
|
||||
LanguageClientManager::startClient(setting.createClient());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -389,6 +389,15 @@ bool LanguageClientSettings::operator==(const LanguageClientSettings &other) con
|
||||
&& m_arguments == other.m_arguments;
|
||||
}
|
||||
|
||||
BaseClient *LanguageClientSettings::createClient()
|
||||
{
|
||||
auto client = new StdIOClient(m_executable, m_arguments);
|
||||
client->setName(m_name);
|
||||
if (m_mimeType != noLanguageFilter)
|
||||
client->setSupportedMimeType({m_mimeType});
|
||||
return client;
|
||||
}
|
||||
|
||||
QVariantMap LanguageClientSettings::toMap() const
|
||||
{
|
||||
QVariantMap map;
|
||||
|
||||
Reference in New Issue
Block a user