LanguageClient: add LanguageClientManager to object pool

instead of the language client plugin and make sure the same
functionality is still reachable from the outside.

Change-Id: Idff8db221e03afb4100c2e4879b7dfeb3e14e59b
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
David Schulz
2024-01-26 11:47:27 +01:00
parent 6218520b63
commit 73c03faa2d
4 changed files with 29 additions and 59 deletions

View File

@@ -27,7 +27,6 @@ class LanguageClientPlugin final : public ExtensionSystem::IPlugin
public:
LanguageClientPlugin()
{
setObjectName("LanguageClient");
qRegisterMetaType<LanguageServerProtocol::JsonRpcMessage>();
}
@@ -36,24 +35,6 @@ private:
void extensionsInitialized() final;
ShutdownFlag aboutToShutdown() final;
Q_SLOT void openDocument(Core::IDocument *document)
{
LanguageClientManager::openDocument(document);
}
Q_SLOT void closeDocument(Core::IDocument *document)
{
LanguageClientManager::closeDocument(document);
}
Q_SLOT void openEditor(Core::IEditor *editor) { LanguageClientManager::openEditor(editor); }
Q_SLOT void closeClientForDocument(TextEditor::TextDocument *document)
{
if (auto client = LanguageClientManager::clientForDocument(document))
client->closeDocument(document);
}
LanguageClientOutlineWidgetFactory m_outlineFactory;
};
@@ -77,8 +58,6 @@ void LanguageClientPlugin::initialize()
inspectAction.setText(Tr::tr("Inspect Language Clients..."));
inspectAction.addToContainer(Core::Constants::M_TOOLS_DEBUG);
inspectAction.addOnTriggered(this, &LanguageClientManager::showInspector);
ExtensionSystem::PluginManager::addObject(this);
}
void LanguageClientPlugin::extensionsInitialized()
@@ -88,7 +67,6 @@ void LanguageClientPlugin::extensionsInitialized()
ExtensionSystem::IPlugin::ShutdownFlag LanguageClientPlugin::aboutToShutdown()
{
ExtensionSystem::PluginManager::removeObject(this);
LanguageClientManager::shutdown();
if (LanguageClientManager::isShutdownFinished())
return ExtensionSystem::IPlugin::SynchronousShutdown;