LanguageClient: add locator filters for symbols in workspace/project

Implement locator filter that is using the workspace/symbol request to
search for symbols in a project. In total three filters were added:
 ':': searches for all kind of symbols
 'c': searches for classes and structs
 'm': searches for methods and functions

Fixes: QTCREATORBUG-21915
Change-Id: Id62c9e0b1bcb29112e35b926b1a5cf04357751c4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2019-04-30 11:05:43 +02:00
parent 24ac4b9e73
commit 7ad5313c3b
5 changed files with 204 additions and 35 deletions

View File

@@ -107,5 +107,8 @@ private:
QMap<QString, QVector<Client *>> m_clientsForSetting;
QHash<LanguageServerProtocol::MessageId, QList<Client *>> m_exclusiveRequests;
DocumentLocatorFilter m_currentDocumentLocatorFilter;
WorkspaceLocatorFilter m_workspaceLocatorFilter;
WorkspaceClassLocatorFilter m_workspaceClassLocatorFilter;
WorkspaceMethodLocatorFilter m_workspaceMethodLocatorFilter;
};
} // namespace LanguageClient