LSP: rename BaseClient -> Client

Since BaseClient isn't part of an inheritance hirarchie any more the
Base doesn't make sense now.

Change-Id: I69200b19a22e5a04079e5289a02234af4f56a1bd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2019-01-31 12:15:43 +01:00
parent eac1b6059c
commit 93ea656821
14 changed files with 124 additions and 124 deletions

View File

@@ -23,7 +23,7 @@
**
****************************************************************************/
#include "baseclient.h"
#include "client.h"
#include "languageclientinterface.h"
#include "languageclientmanager.h"
@@ -62,7 +62,7 @@ namespace LanguageClient {
static Q_LOGGING_CATEGORY(LOGLSPCLIENT, "qtc.languageclient.client", QtWarningMsg);
BaseClient::BaseClient(BaseClientInterface *clientInterface)
Client::Client(BaseClientInterface *clientInterface)
: m_id(Core::Id::fromString(QUuid::createUuid().toString()))
, m_completionProvider(this)
, m_clientInterface(clientInterface)
@@ -70,12 +70,12 @@ BaseClient::BaseClient(BaseClientInterface *clientInterface)
m_contentHandler.insert(JsonRpcMessageHandler::jsonRpcMimeType(),
&JsonRpcMessageHandler::parseContent);
QTC_ASSERT(clientInterface, return);
connect(clientInterface, &BaseClientInterface::messageReceived, this, &BaseClient::handleMessage);
connect(clientInterface, &BaseClientInterface::error, this, &BaseClient::setError);
connect(clientInterface, &BaseClientInterface::finished, this, &BaseClient::finished);
connect(clientInterface, &BaseClientInterface::messageReceived, this, &Client::handleMessage);
connect(clientInterface, &BaseClientInterface::error, this, &Client::setError);
connect(clientInterface, &BaseClientInterface::finished, this, &Client::finished);
}
BaseClient::~BaseClient()
Client::~Client()
{
using namespace TextEditor;
// FIXME: instead of replacing the completion provider in the text document store the
@@ -90,7 +90,7 @@ BaseClient::~BaseClient()
}
}
void BaseClient::initialize()
void Client::initialize()
{
using namespace ProjectExplorer;
QTC_ASSERT(m_clientInterface, return);
@@ -115,7 +115,7 @@ void BaseClient::initialize()
m_state = InitializeRequested;
}
void BaseClient::shutdown()
void Client::shutdown()
{
QTC_ASSERT(m_state == Initialized, emit finished(); return);
qCDebug(LOGLSPCLIENT) << "shutdown language server " << m_displayName;
@@ -127,12 +127,12 @@ void BaseClient::shutdown()
m_state = ShutdownRequested;
}
BaseClient::State BaseClient::state() const
Client::State Client::state() const
{
return m_state;
}
void BaseClient::openDocument(Core::IDocument *document)
void Client::openDocument(Core::IDocument *document)
{
using namespace TextEditor;
if (!isSupportedDocument(document))
@@ -191,7 +191,7 @@ void BaseClient::openDocument(Core::IDocument *document)
requestDocumentSymbols(textDocument);
}
void BaseClient::sendContent(const IContent &content)
void Client::sendContent(const IContent &content)
{
QTC_ASSERT(m_clientInterface, return);
QTC_ASSERT(m_state == Initialized, return);
@@ -202,25 +202,25 @@ void BaseClient::sendContent(const IContent &content)
m_clientInterface->sendMessage(content.toBaseMessage());
}
void BaseClient::sendContent(const DocumentUri &uri, const IContent &content)
void Client::sendContent(const DocumentUri &uri, const IContent &content)
{
if (!m_openedDocument.contains(uri.toFileName()))
return;
sendContent(content);
}
void BaseClient::cancelRequest(const MessageId &id)
void Client::cancelRequest(const MessageId &id)
{
m_responseHandlers.remove(id);
sendContent(CancelRequest(CancelParameter(id)));
}
void BaseClient::closeDocument(const DidCloseTextDocumentParams &params)
void Client::closeDocument(const DidCloseTextDocumentParams &params)
{
sendContent(params.textDocument().uri(), DidCloseTextDocumentNotification(params));
}
void BaseClient::documentContentsSaved(Core::IDocument *document)
void Client::documentContentsSaved(Core::IDocument *document)
{
if (!m_openedDocument.contains(document->filePath()))
return;
@@ -254,7 +254,7 @@ void BaseClient::documentContentsSaved(Core::IDocument *document)
sendContent(DidSaveTextDocumentNotification(params));
}
void BaseClient::documentWillSave(Core::IDocument *document)
void Client::documentWillSave(Core::IDocument *document)
{
const FileName &filePath = document->filePath();
if (!m_openedDocument.contains(filePath))
@@ -282,7 +282,7 @@ void BaseClient::documentWillSave(Core::IDocument *document)
sendContent(WillSaveTextDocumentNotification(params));
}
void BaseClient::documentContentsChanged(Core::IDocument *document)
void Client::documentContentsChanged(Core::IDocument *document)
{
if (!m_openedDocument.contains(document->filePath()))
return;
@@ -315,18 +315,18 @@ void BaseClient::documentContentsChanged(Core::IDocument *document)
}
}
void BaseClient::registerCapabilities(const QList<Registration> &registrations)
void Client::registerCapabilities(const QList<Registration> &registrations)
{
m_dynamicCapabilities.registerCapability(registrations);
}
void BaseClient::unregisterCapabilities(const QList<Unregistration> &unregistrations)
void Client::unregisterCapabilities(const QList<Unregistration> &unregistrations)
{
m_dynamicCapabilities.unregisterCapability(unregistrations);
}
template <typename Request>
static bool sendTextDocumentPositionParamsRequest(BaseClient *client,
static bool sendTextDocumentPositionParamsRequest(Client *client,
const Request &request,
const DynamicCapabilities &dynamicCapabilities,
const optional<bool> &serverCapability)
@@ -350,13 +350,13 @@ static bool sendTextDocumentPositionParamsRequest(BaseClient *client,
return sendMessage;
}
bool BaseClient::findLinkAt(GotoDefinitionRequest &request)
bool Client::findLinkAt(GotoDefinitionRequest &request)
{
return LanguageClient::sendTextDocumentPositionParamsRequest(
this, request, m_dynamicCapabilities, m_serverCapabilities.definitionProvider());
}
bool BaseClient::findUsages(FindReferencesRequest &request)
bool Client::findUsages(FindReferencesRequest &request)
{
return LanguageClient::sendTextDocumentPositionParamsRequest(
this, request, m_dynamicCapabilities, m_serverCapabilities.referencesProvider());
@@ -371,7 +371,7 @@ TextEditor::HighlightingResult createHighlightingResult(const SymbolInformation
info.name().length(), info.kind());
}
void BaseClient::requestDocumentSymbols(TextEditor::TextDocument *document)
void Client::requestDocumentSymbols(TextEditor::TextDocument *document)
{
// TODO: Do not use this information for highlighting but the overview model
return;
@@ -464,7 +464,7 @@ void BaseClient::requestDocumentSymbols(TextEditor::TextDocument *document)
sendContent(request);
}
void BaseClient::cursorPositionChanged(TextEditor::TextEditorWidget *widget)
void Client::cursorPositionChanged(TextEditor::TextEditorWidget *widget)
{
const auto uri = DocumentUri::fromFileName(widget->textDocument()->filePath());
if (m_dynamicCapabilities.isRegistered(DocumentHighlightsRequest::methodName).value_or(false)) {
@@ -515,7 +515,7 @@ void BaseClient::cursorPositionChanged(TextEditor::TextEditorWidget *widget)
sendContent(request);
}
void BaseClient::requestCodeActions(const DocumentUri &uri, const QList<Diagnostic> &diagnostics)
void Client::requestCodeActions(const DocumentUri &uri, const QList<Diagnostic> &diagnostics)
{
const Utils::FileName fileName = uri.toFileName();
TextEditor::TextDocument *doc = textDocumentForFileName(fileName);
@@ -548,14 +548,14 @@ void BaseClient::requestCodeActions(const DocumentUri &uri, const QList<Diagnost
codeActionParams.setRange(Range(start, end));
CodeActionRequest request(codeActionParams);
request.setResponseCallback(
[uri, self = QPointer<BaseClient>(this)](const CodeActionRequest::Response &response) {
[uri, self = QPointer<Client>(this)](const CodeActionRequest::Response &response) {
if (self)
self->handleCodeActionResponse(response, uri);
});
sendContent(request);
}
void BaseClient::handleCodeActionResponse(const CodeActionRequest::Response &response,
void Client::handleCodeActionResponse(const CodeActionRequest::Response &response,
const DocumentUri &uri)
{
if (const Utils::optional<CodeActionRequest::Response::Error> &error = response.error())
@@ -573,7 +573,7 @@ void BaseClient::handleCodeActionResponse(const CodeActionRequest::Response &res
}
}
void BaseClient::executeCommand(const Command &command)
void Client::executeCommand(const Command &command)
{
using CommandOptions = LanguageServerProtocol::ServerCapabilities::ExecuteCommandOptions;
const QString method(ExecuteCommandRequest::methodName);
@@ -594,7 +594,7 @@ void BaseClient::executeCommand(const Command &command)
sendContent(request);
}
void BaseClient::projectOpened(ProjectExplorer::Project *project)
void Client::projectOpened(ProjectExplorer::Project *project)
{
if (!sendWorkspceFolderChanges())
return;
@@ -606,7 +606,7 @@ void BaseClient::projectOpened(ProjectExplorer::Project *project)
sendContent(change);
}
void BaseClient::projectClosed(ProjectExplorer::Project *project)
void Client::projectClosed(ProjectExplorer::Project *project)
{
if (!sendWorkspceFolderChanges())
return;
@@ -618,18 +618,18 @@ void BaseClient::projectClosed(ProjectExplorer::Project *project)
sendContent(change);
}
void BaseClient::setSupportedLanguage(const LanguageFilter &filter)
void Client::setSupportedLanguage(const LanguageFilter &filter)
{
m_languagFilter = filter;
}
bool BaseClient::isSupportedDocument(const Core::IDocument *document) const
bool Client::isSupportedDocument(const Core::IDocument *document) const
{
QTC_ASSERT(document, return false);
return isSupportedFile(document->filePath(), document->mimeType());
}
bool BaseClient::isSupportedFile(const Utils::FileName &filePath, const QString &mimeType) const
bool Client::isSupportedFile(const Utils::FileName &filePath, const QString &mimeType) const
{
if (m_languagFilter.mimeTypes.isEmpty() && m_languagFilter.filePattern.isEmpty())
return true;
@@ -643,25 +643,25 @@ bool BaseClient::isSupportedFile(const Utils::FileName &filePath, const QString
});
}
bool BaseClient::isSupportedUri(const DocumentUri &uri) const
bool Client::isSupportedUri(const DocumentUri &uri) const
{
return isSupportedFile(uri.toFileName(),
Utils::mimeTypeForFile(uri.toFileName().fileName()).name());
}
bool BaseClient::needsRestart(const BaseSettings *settings) const
bool Client::needsRestart(const BaseSettings *settings) const
{
QTC_ASSERT(settings, return false);
return m_languagFilter.mimeTypes != settings->m_languageFilter.mimeTypes
|| m_languagFilter.filePattern != settings->m_languageFilter.filePattern;
}
bool BaseClient::start()
bool Client::start()
{
return m_clientInterface->start();
}
bool BaseClient::reset()
bool Client::reset()
{
if (!m_restartsLeft)
return false;
@@ -675,13 +675,13 @@ bool BaseClient::reset()
return true;
}
void BaseClient::setError(const QString &message)
void Client::setError(const QString &message)
{
log(message);
m_state = Error;
}
void BaseClient::handleMessage(const BaseMessage &message)
void Client::handleMessage(const BaseMessage &message)
{
if (auto handler = m_contentHandler[message.mimeType]) {
QString parseError;
@@ -699,28 +699,28 @@ void BaseClient::handleMessage(const BaseMessage &message)
}
}
void BaseClient::log(const QString &message, Core::MessageManager::PrintToOutputPaneFlag flag)
void Client::log(const QString &message, Core::MessageManager::PrintToOutputPaneFlag flag)
{
Core::MessageManager::write(QString("LanguageClient %1: %2").arg(name(), message), flag);
}
const ServerCapabilities &BaseClient::capabilities() const
const ServerCapabilities &Client::capabilities() const
{
return m_serverCapabilities;
}
const DynamicCapabilities &BaseClient::dynamicCapabilities() const
const DynamicCapabilities &Client::dynamicCapabilities() const
{
return m_dynamicCapabilities;
}
void BaseClient::log(const ShowMessageParams &message,
void Client::log(const ShowMessageParams &message,
Core::MessageManager::PrintToOutputPaneFlag flag)
{
log(message.toString(), flag);
}
void BaseClient::showMessageBox(const ShowMessageRequestParams &message, const MessageId &id)
void Client::showMessageBox(const ShowMessageRequestParams &message, const MessageId &id)
{
auto box = new QMessageBox();
box->setText(message.toString());
@@ -748,13 +748,13 @@ void BaseClient::showMessageBox(const ShowMessageRequestParams &message, const M
box->show();
}
void BaseClient::handleResponse(const MessageId &id, const QByteArray &content, QTextCodec *codec)
void Client::handleResponse(const MessageId &id, const QByteArray &content, QTextCodec *codec)
{
if (auto handler = m_responseHandlers[id])
handler(content, codec);
}
void BaseClient::handleMethod(const QString &method, MessageId id, const IContent *content)
void Client::handleMethod(const QString &method, MessageId id, const IContent *content)
{
QStringList error;
bool paramsValid = true;
@@ -822,7 +822,7 @@ void BaseClient::handleMethod(const QString &method, MessageId id, const IConten
delete content;
}
void BaseClient::intializeCallback(const InitializeRequest::Response &initResponse)
void Client::intializeCallback(const InitializeRequest::Response &initResponse)
{
QTC_ASSERT(m_state == InitializeRequested, return);
if (optional<ResponseError<InitializeError>> error = initResponse.error()) {
@@ -863,7 +863,7 @@ void BaseClient::intializeCallback(const InitializeRequest::Response &initRespon
openDocument(openedDocument);
}
void BaseClient::shutDownCallback(const ShutdownRequest::Response &shutdownResponse)
void Client::shutDownCallback(const ShutdownRequest::Response &shutdownResponse)
{
QTC_ASSERT(m_state == ShutdownRequested, return);
QTC_ASSERT(m_clientInterface, return);
@@ -879,7 +879,7 @@ void BaseClient::shutDownCallback(const ShutdownRequest::Response &shutdownRespo
m_state = Shutdown;
}
bool BaseClient::sendWorkspceFolderChanges() const
bool Client::sendWorkspceFolderChanges() const
{
if (m_dynamicCapabilities.isRegistered(
DidChangeWorkspaceFoldersNotification::methodName).value_or(false)) {

View File

@@ -58,18 +58,18 @@ namespace LanguageClient {
class BaseClientInterface;
class BaseClient : public QObject
class Client : public QObject
{
Q_OBJECT
public:
explicit BaseClient(BaseClientInterface *clientInterface); // takes ownership
~BaseClient() override;
explicit Client(BaseClientInterface *clientInterface); // takes ownership
~Client() override;
BaseClient(const BaseClient &) = delete;
BaseClient(BaseClient &&) = delete;
BaseClient &operator=(const BaseClient &) = delete;
BaseClient &operator=(BaseClient &&) = delete;
Client(const Client &) = delete;
Client(Client &&) = delete;
Client &operator=(const Client &) = delete;
Client &operator=(Client &&) = delete;
enum State {
Uninitialized,

View File

@@ -3,7 +3,7 @@ include(../../qtcreatorplugin.pri)
DEFINES += LANGUAGECLIENT_LIBRARY
HEADERS += \
baseclient.h \
client.h \
dynamiccapabilities.h \
languageclient_global.h \
languageclientcodeassist.h \
@@ -16,7 +16,7 @@ HEADERS += \
SOURCES += \
baseclient.cpp \
client.cpp \
dynamiccapabilities.cpp \
languageclientcodeassist.cpp \
languageclientinterface.cpp \

View File

@@ -14,8 +14,8 @@ QtcPlugin {
Depends { name: "TextEditor" }
files: [
"baseclient.cpp",
"baseclient.h",
"client.cpp",
"client.h",
"dynamiccapabilities.cpp",
"dynamiccapabilities.h",
"languageclient.qrc",

View File

@@ -25,7 +25,7 @@
#include "languageclientcodeassist.h"
#include "baseclient.h"
#include "client.h"
#include "languageclientutils.h"
#include <languageserverprotocol/completion.h>
@@ -258,7 +258,7 @@ public:
class LanguageClientCompletionAssistProcessor : public IAssistProcessor
{
public:
LanguageClientCompletionAssistProcessor(BaseClient *client);
LanguageClientCompletionAssistProcessor(Client *client);
IAssistProposal *perform(const AssistInterface *interface) override;
bool running() override;
bool needsRestart() const override { return true; }
@@ -267,12 +267,12 @@ private:
void handleCompletionResponse(const CompletionRequest::Response &response);
QPointer<QTextDocument> m_document;
QPointer<BaseClient> m_client;
QPointer<Client> m_client;
bool m_running = false;
int m_pos = -1;
};
LanguageClientCompletionAssistProcessor::LanguageClientCompletionAssistProcessor(BaseClient *client)
LanguageClientCompletionAssistProcessor::LanguageClientCompletionAssistProcessor(Client *client)
: m_client(client)
{ }
@@ -367,7 +367,7 @@ void LanguageClientCompletionAssistProcessor::handleCompletionResponse(
<< items.count() << " completions handled";
}
LanguageClientCompletionAssistProvider::LanguageClientCompletionAssistProvider(BaseClient *client)
LanguageClientCompletionAssistProvider::LanguageClientCompletionAssistProvider(Client *client)
: m_client(client)
{ }

View File

@@ -29,12 +29,12 @@
namespace LanguageClient {
class BaseClient;
class Client;
class LanguageClientCompletionAssistProvider : public TextEditor::CompletionAssistProvider
{
public:
LanguageClientCompletionAssistProvider(BaseClient *client);
LanguageClientCompletionAssistProvider(Client *client);
TextEditor::IAssistProcessor *createProcessor() const override;
RunType runType() const override;
@@ -48,7 +48,7 @@ public:
private:
QList<QString> m_triggerChars;
int m_activationCharSequenceLength = 0;
BaseClient *m_client;
Client *m_client;
};
} // namespace LanguageClient

View File

@@ -109,7 +109,7 @@ void LanguageClientManager::init()
void LanguageClientManager::publishDiagnostics(const Core::Id &id,
const PublishDiagnosticsParams &params,
BaseClient *publishingClient)
Client *publishingClient)
{
const Utils::FileName fileName = params.uri().toFileName();
TextEditor::TextDocument *doc = textDocumentForFileName(fileName);
@@ -169,7 +169,7 @@ void LanguageClientManager::removeMarks(const Core::Id &id)
removeMarks(fileName, id);
}
void LanguageClientManager::startClient(BaseClient *client)
void LanguageClientManager::startClient(Client *client)
{
QTC_ASSERT(client, return);
if (managerInstance->m_shuttingDown) {
@@ -178,7 +178,7 @@ void LanguageClientManager::startClient(BaseClient *client)
}
if (!managerInstance->m_clients.contains(client))
managerInstance->m_clients.append(client);
connect(client, &BaseClient::finished, managerInstance, [client](){
connect(client, &Client::finished, managerInstance, [client](){
managerInstance->clientFinished(client);
});
if (client->start())
@@ -187,26 +187,26 @@ void LanguageClientManager::startClient(BaseClient *client)
managerInstance->clientFinished(client);
}
QVector<BaseClient *> LanguageClientManager::clients()
QVector<Client *> LanguageClientManager::clients()
{
return managerInstance->m_clients;
}
void LanguageClientManager::addExclusiveRequest(const MessageId &id, BaseClient *client)
void LanguageClientManager::addExclusiveRequest(const MessageId &id, Client *client)
{
managerInstance->m_exclusiveRequests[id] << client;
}
void LanguageClientManager::reportFinished(const MessageId &id, BaseClient *byClient)
void LanguageClientManager::reportFinished(const MessageId &id, Client *byClient)
{
for (BaseClient *client : managerInstance->m_exclusiveRequests[id]) {
for (Client *client : managerInstance->m_exclusiveRequests[id]) {
if (client != byClient)
client->cancelRequest(id);
}
managerInstance->m_exclusiveRequests.remove(id);
}
void LanguageClientManager::deleteClient(BaseClient *client)
void LanguageClientManager::deleteClient(Client *client)
{
QTC_ASSERT(client, return);
client->disconnect();
@@ -238,23 +238,23 @@ LanguageClientManager *LanguageClientManager::instance()
return managerInstance;
}
QList<BaseClient *> LanguageClientManager::clientsSupportingDocument(
QList<Client *> LanguageClientManager::clientsSupportingDocument(
const TextEditor::TextDocument *doc)
{
QTC_ASSERT(doc, return {};);
return Utils::filtered(managerInstance->reachableClients(), [doc](BaseClient *client) {
return Utils::filtered(managerInstance->reachableClients(), [doc](Client *client) {
return client->isSupportedDocument(doc);
}).toList();
}
QVector<BaseClient *> LanguageClientManager::reachableClients()
QVector<Client *> LanguageClientManager::reachableClients()
{
return Utils::filtered(m_clients, &BaseClient::reachable);
return Utils::filtered(m_clients, &Client::reachable);
}
static void sendToInterfaces(const IContent &content, const QVector<BaseClient *> &interfaces)
static void sendToInterfaces(const IContent &content, const QVector<Client *> &interfaces)
{
for (BaseClient *interface : interfaces)
for (Client *interface : interfaces)
interface->sendContent(content);
}
@@ -263,11 +263,11 @@ void LanguageClientManager::sendToAllReachableServers(const IContent &content)
sendToInterfaces(content, reachableClients());
}
void LanguageClientManager::clientFinished(BaseClient *client)
void LanguageClientManager::clientFinished(Client *client)
{
constexpr int restartTimeoutS = 5;
const bool unexpectedFinish = client->state() != BaseClient::Shutdown
&& client->state() != BaseClient::ShutdownRequested;
const bool unexpectedFinish = client->state() != Client::Shutdown
&& client->state() != Client::ShutdownRequested;
if (unexpectedFinish && !m_shuttingDown && client->reset()) {
removeMarks(client->id());
client->disconnect(this);
@@ -287,7 +287,7 @@ void LanguageClientManager::editorOpened(Core::IEditor *iEditor)
{
using namespace TextEditor;
Core::IDocument *document = iEditor->document();
for (BaseClient *interface : reachableClients())
for (Client *interface : reachableClients())
interface->openDocument(document);
if (auto textDocument = qobject_cast<TextDocument *>(document)) {
@@ -315,7 +315,7 @@ void LanguageClientManager::editorsClosed(const QList<Core::IEditor *> &editors)
removeMarks(editor->document()->filePath());
const DidCloseTextDocumentParams params(TextDocumentIdentifier(
DocumentUri::fromFileName(editor->document()->filePath())));
for (BaseClient *interface : reachableClients())
for (Client *interface : reachableClients())
interface->closeDocument(params);
}
}
@@ -323,13 +323,13 @@ void LanguageClientManager::editorsClosed(const QList<Core::IEditor *> &editors)
void LanguageClientManager::documentContentsSaved(Core::IDocument *document)
{
for (BaseClient *interface : reachableClients())
for (Client *interface : reachableClients())
interface->documentContentsSaved(document);
}
void LanguageClientManager::documentWillSave(Core::IDocument *document)
{
for (BaseClient *interface : reachableClients())
for (Client *interface : reachableClients())
interface->documentContentsSaved(document);
}
@@ -355,7 +355,7 @@ void LanguageClientManager::findLinkAt(const Utils::FileName &filePath,
}
}
});
for (BaseClient *interface : reachableClients()) {
for (Client *interface : reachableClients()) {
if (interface->findLinkAt(request))
m_exclusiveRequests[request.id()] << interface;
}
@@ -421,7 +421,7 @@ void LanguageClientManager::findUsages(const Utils::FileName &filePath, const QT
search->popup();
}
};
for (BaseClient *client : reachableClients()) {
for (Client *client : reachableClients()) {
request.setResponseCallback([callback, clientName = client->name()]
(const FindReferencesRequest::Response &response){
callback(clientName, response);
@@ -433,13 +433,13 @@ void LanguageClientManager::findUsages(const Utils::FileName &filePath, const QT
void LanguageClientManager::projectAdded(ProjectExplorer::Project *project)
{
for (BaseClient *interface : reachableClients())
for (Client *interface : reachableClients())
interface->projectOpened(project);
}
void LanguageClientManager::projectRemoved(ProjectExplorer::Project *project)
{
for (BaseClient *interface : reachableClients())
for (Client *interface : reachableClients())
interface->projectClosed(project);
}

View File

@@ -25,7 +25,7 @@
#pragma once
#include "baseclient.h"
#include "client.h"
#include "languageclientsettings.h"
#include <coreplugin/id.h>
@@ -56,26 +56,26 @@ public:
static void init();
static void publishDiagnostics(const Core::Id &id,
const LanguageServerProtocol::PublishDiagnosticsParams &params, BaseClient *publishingClient);
const LanguageServerProtocol::PublishDiagnosticsParams &params, Client *publishingClient);
static void removeMark(LanguageClientMark *mark);
static void removeMarks(const Utils::FileName &fileName);
static void removeMarks(const Utils::FileName &fileName, const Core::Id &id);
static void removeMarks(const Core::Id &id);
static void startClient(BaseClient *client);
static QVector<BaseClient *> clients();
static void startClient(Client *client);
static QVector<Client *> clients();
static void addExclusiveRequest(const LanguageServerProtocol::MessageId &id, BaseClient *client);
static void reportFinished(const LanguageServerProtocol::MessageId &id, BaseClient *byClient);
static void addExclusiveRequest(const LanguageServerProtocol::MessageId &id, Client *client);
static void reportFinished(const LanguageServerProtocol::MessageId &id, Client *byClient);
static void deleteClient(BaseClient *client);
static void deleteClient(Client *client);
static void shutdown();
static LanguageClientManager *instance();
static QList<BaseClient *> clientsSupportingDocument(const TextEditor::TextDocument *doc);
static QList<Client *> clientsSupportingDocument(const TextEditor::TextDocument *doc);
signals:
void shutdownFinished();
@@ -94,15 +94,15 @@ private:
void projectAdded(ProjectExplorer::Project *project);
void projectRemoved(ProjectExplorer::Project *project);
QVector<BaseClient *> reachableClients();
QVector<Client *> reachableClients();
void sendToAllReachableServers(const LanguageServerProtocol::IContent &content);
void clientFinished(BaseClient *client);
void clientFinished(Client *client);
bool m_shuttingDown = false;
QVector<BaseClient *> m_clients;
QVector<Client *> m_clients;
QHash<Utils::FileName, QHash<Core::Id, QVector<LanguageClientMark *>>> m_marks;
QHash<LanguageServerProtocol::MessageId, QList<BaseClient *>> m_exclusiveRequests;
QHash<LanguageServerProtocol::MessageId, QList<Client *>> m_exclusiveRequests;
friend class LanguageClientPlugin;
};

View File

@@ -147,7 +147,7 @@ public:
class LanguageClientOutlineWidget : public TextEditor::IOutlineWidget
{
public:
LanguageClientOutlineWidget(BaseClient *client, TextEditor::BaseTextEditor *editor);
LanguageClientOutlineWidget(Client *client, TextEditor::BaseTextEditor *editor);
// IOutlineWidget interface
public:
@@ -160,14 +160,14 @@ private:
void updateSelectionInTree(const QTextCursor &currentCursor);
void onItemActivated(const QModelIndex &index);
QPointer<BaseClient> m_client;
QPointer<Client> m_client;
QPointer<TextEditor::BaseTextEditor> m_editor;
LanguageClientOutlineModel m_model;
Utils::TreeView m_view;
bool m_sync = false;
};
LanguageClientOutlineWidget::LanguageClientOutlineWidget(BaseClient *client,
LanguageClientOutlineWidget::LanguageClientOutlineWidget(Client *client,
TextEditor::BaseTextEditor *editor)
: m_client(client)
, m_editor(editor)
@@ -256,7 +256,7 @@ void LanguageClientOutlineWidget::onItemActivated(const QModelIndex &index)
m_editor->widget()->setFocus();
}
static bool clientSupportsDocumentSymbols(const BaseClient *client, const TextEditor::TextDocument *doc)
static bool clientSupportsDocumentSymbols(const Client *client, const TextEditor::TextDocument *doc)
{
DynamicCapabilities dc = client->dynamicCapabilities();
if (dc.isRegistered(DocumentSymbolsRequest::methodName).value_or(false)) {
@@ -273,7 +273,7 @@ bool LanguageClientOutlineWidgetFactory::supportsEditor(Core::IEditor *editor) c
if (!doc)
return false;
auto clients = LanguageClientManager::clientsSupportingDocument(doc);
return Utils::anyOf(clients, [doc](const BaseClient *client){
return Utils::anyOf(clients, [doc](const Client *client){
return clientSupportsDocumentSymbols(client, doc);
});
}
@@ -282,9 +282,9 @@ TextEditor::IOutlineWidget *LanguageClientOutlineWidgetFactory::createWidget(Cor
{
auto textEditor = qobject_cast<TextEditor::BaseTextEditor *>(editor);
QTC_ASSERT(textEditor, return nullptr);
QList<BaseClient *> clients = LanguageClientManager::clientsSupportingDocument(textEditor->textDocument());
QList<Client *> clients = LanguageClientManager::clientsSupportingDocument(textEditor->textDocument());
QTC_ASSERT(!clients.isEmpty(), return nullptr);
clients = Utils::filtered(clients, [doc = textEditor->textDocument()](const BaseClient *client){
clients = Utils::filtered(clients, [doc = textEditor->textDocument()](const Client *client){
return clientSupportsDocumentSymbols(client, doc);
});
return new LanguageClientOutlineWidget(clients.first(), textEditor);

View File

@@ -25,7 +25,7 @@
#include "languageclientplugin.h"
#include "baseclient.h"
#include "client.h"
namespace LanguageClient {

View File

@@ -25,7 +25,7 @@
#include "languageclientsettings.h"
#include "baseclient.h"
#include "client.h"
#include "languageclientmanager.h"
#include "languageclient_global.h"
#include "languageclientinterface.h"
@@ -398,11 +398,11 @@ bool BaseSettings::isValid() const
return !m_name.isEmpty();
}
BaseClient *BaseSettings::createClient() const
Client *BaseSettings::createClient() const
{
BaseClientInterface *interface = createInterface();
if (QTC_GUARD(interface)) {
auto *client = new BaseClient(interface);
auto *client = new Client(interface);
client->setName(m_name);
client->setSupportedLanguage(m_languageFilter);
return client;

View File

@@ -43,7 +43,7 @@ namespace LanguageClient {
constexpr char noLanguageFilter[] = "No Filter";
class BaseClient;
class Client;
class BaseClientInterface;
struct LanguageFilter
@@ -67,14 +67,14 @@ public:
QString m_name = QString("New Language Server");
bool m_enabled = true;
LanguageFilter m_languageFilter;
QPointer<BaseClient> m_client; // not owned
QPointer<Client> m_client; // not owned
virtual void applyFromSettingsWidget(QWidget *widget);
virtual QWidget *createSettingsWidget(QWidget *parent = nullptr) const;
virtual BaseSettings *copy() const { return new BaseSettings(*this); }
virtual bool needsRestart() const;
virtual bool isValid() const ;
BaseClient *createClient() const;
Client *createClient() const;
virtual QVariantMap toMap() const;
virtual void fromMap(const QVariantMap &map);

View File

@@ -25,7 +25,7 @@
#include "languageclientutils.h"
#include "baseclient.h"
#include "client.h"
#include <coreplugin/editormanager/documentmodel.h>
@@ -131,7 +131,7 @@ QTextCursor endOfLineCursor(const QTextCursor &cursor)
return ret;
}
void updateCodeActionRefactoringMarker(BaseClient *client,
void updateCodeActionRefactoringMarker(Client *client,
const CodeAction &action,
const DocumentUri &uri)
{
@@ -176,7 +176,7 @@ void updateCodeActionRefactoringMarker(BaseClient *client,
}
} else if (action.command().has_value()) {
const Command command = action.command().value();
marker.callback = [command, client = QPointer<BaseClient>(client)](const TextEditorWidget *) {
marker.callback = [command, client = QPointer<Client>(client)](const TextEditorWidget *) {
if (client)
client->executeCommand(command);
};

View File

@@ -37,7 +37,7 @@ class TextDocumentManipulatorInterface;
namespace LanguageClient {
class BaseClient;
class Client;
bool applyWorkspaceEdit(const LanguageServerProtocol::WorkspaceEdit &edit);
bool applyTextDocumentEdit(const LanguageServerProtocol::TextDocumentEdit &edit);
@@ -46,7 +46,7 @@ bool applyTextEdits(const LanguageServerProtocol::DocumentUri &uri,
void applyTextEdit(TextEditor::TextDocumentManipulatorInterface &manipulator,
const LanguageServerProtocol::TextEdit &edit);
TextEditor::TextDocument *textDocumentForFileName(const Utils::FileName &fileName);
void updateCodeActionRefactoringMarker(BaseClient *client,
void updateCodeActionRefactoringMarker(Client *client,
const LanguageServerProtocol::CodeAction &action,
const LanguageServerProtocol::DocumentUri &uri);