LanguageClient: open a document in just one client

Also show a menu when triggering the language client toolbar button that
allows you to manage and switch between different language clients. The
default language server used to open a specific file type is determined
by the order of the servers inside the settings.

Change-Id: Ib1b21dd2c04d4559f538705e6ba229af043e02ae
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2019-07-24 13:40:12 +02:00
parent e0e5621b80
commit 332031d677
8 changed files with 227 additions and 95 deletions

View File

@@ -96,7 +96,7 @@ public:
// document synchronization
bool openDocument(Core::IDocument *document);
void closeDocument(const LanguageServerProtocol::DidCloseTextDocumentParams &params);
void closeDocument(Core::IDocument *document);
bool documentOpen(const Core::IDocument *document) const;
void documentContentsSaved(Core::IDocument *document);
void documentWillSave(Core::IDocument *document);
@@ -155,6 +155,9 @@ public:
Core::MessageManager::PrintToOutputPaneFlag flag = Core::MessageManager::NoModeSwitch)
{ log(responseError.toString(), flag); }
void showDiagnostics(Core::IDocument *doc);
void hideDiagnostics(Core::IDocument *doc);
const LanguageServerProtocol::ServerCapabilities &capabilities() const;
const DynamicCapabilities &dynamicCapabilities() const;
const BaseClientInterface *clientInterface() const;