From c9d10c0d04ca170e14ebddcd022a7b409d1b2d4d Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 29 Jan 2020 10:06:41 +0100 Subject: [PATCH] LanguageClient: clear the cache also for already opened files Change-Id: I1dc962673d317ef28c8925dc965389116468f664 Reviewed-by: Christian Stenger --- src/plugins/languageclient/documentsymbolcache.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/plugins/languageclient/documentsymbolcache.cpp b/src/plugins/languageclient/documentsymbolcache.cpp index e56f534636d..119cfad992f 100644 --- a/src/plugins/languageclient/documentsymbolcache.cpp +++ b/src/plugins/languageclient/documentsymbolcache.cpp @@ -38,14 +38,18 @@ DocumentSymbolCache::DocumentSymbolCache(Client *client) : QObject(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(), &Core::EditorManager::documentOpened, this, - [this](Core::IDocument *document) { - connect(document, &Core::IDocument::contentsChanged, this, [this, document]() { - m_cache.remove(DocumentUri::fromFilePath(document->filePath())); - }); - }); + connectDocument); } void DocumentSymbolCache::requestSymbols(const DocumentUri &uri)