diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp index 3022ba527d9..f5b8d988b53 100644 --- a/src/plugins/languageclient/languageclientmanager.cpp +++ b/src/plugins/languageclient/languageclientmanager.cpp @@ -411,6 +411,15 @@ const BaseSettings *LanguageClientManager::settingForClient(Client *client) return nullptr; } +QList LanguageClientManager::clientsByName(const QString &name) +{ + QTC_ASSERT(managerInstance, return {}); + + return Utils::filtered(managerInstance->m_clients, [name](const Client *client) { + return client->name() == name; + }); +} + void LanguageClientManager::updateWorkspaceConfiguration(const ProjectExplorer::Project *project, const QJsonValue &json) { diff --git a/src/plugins/languageclient/languageclientmanager.h b/src/plugins/languageclient/languageclientmanager.h index a970ef66d27..55051d3f570 100644 --- a/src/plugins/languageclient/languageclientmanager.h +++ b/src/plugins/languageclient/languageclientmanager.h @@ -57,6 +57,7 @@ public: static void enableClientSettings(const QString &settingsId, bool enable = true); static QList clientsForSetting(const BaseSettings *setting); static const BaseSettings *settingForClient(Client *setting); + static QList clientsByName(const QString &name); static void updateWorkspaceConfiguration(const ProjectExplorer::Project *project, const QJsonValue &json);