LanguageClient: clear the cache also for already opened files

Change-Id: I1dc962673d317ef28c8925dc965389116468f664
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2020-01-29 10:06:41 +01:00
parent 59318b2789
commit c9d10c0d04

View File

@@ -38,14 +38,18 @@ DocumentSymbolCache::DocumentSymbolCache(Client *client)
: QObject(client) : QObject(client)
, m_client(client) , m_client(client)
{ {
auto connectDocument = [this](Core::IDocument *document) {
connect(document, &Core::IDocument::contentsChanged, this, [document, this]() {
m_cache.remove(DocumentUri::fromFilePath(document->filePath()));
});
};
for (Core::IDocument *document : Core::DocumentModel::openedDocuments())
connectDocument(document);
connect(Core::EditorManager::instance(), connect(Core::EditorManager::instance(),
&Core::EditorManager::documentOpened, &Core::EditorManager::documentOpened,
this, this,
[this](Core::IDocument *document) { connectDocument);
connect(document, &Core::IDocument::contentsChanged, this, [this, document]() {
m_cache.remove(DocumentUri::fromFilePath(document->filePath()));
});
});
} }
void DocumentSymbolCache::requestSymbols(const DocumentUri &uri) void DocumentSymbolCache::requestSymbols(const DocumentUri &uri)