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:
David Schulz
2018-09-17 13:55:26 +02:00
parent fb058b850b
commit 1b2ad0e989
4 changed files with 14 additions and 13 deletions

View File

@@ -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;