forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user