forked from qt-creator/qt-creator
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:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user