diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 2f01115d4bf..dc49f17a477 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -589,6 +589,15 @@ bool Client::documentOpen(const TextEditor::TextDocument *document) const return m_openedDocument.contains(const_cast(document)); } +TextEditor::TextDocument *Client::documentForFilePath(const Utils::FilePath &file) const +{ + for (auto it = m_openedDocument.cbegin(); it != m_openedDocument.cend(); ++it) { + if (it.key()->filePath() == file) + return it.key(); + } + return nullptr; +} + void Client::documentContentsSaved(TextEditor::TextDocument *document) { if (!m_openedDocument.contains(document)) diff --git a/src/plugins/languageclient/client.h b/src/plugins/languageclient/client.h index 0c17be217f3..f9a46176814 100644 --- a/src/plugins/languageclient/client.h +++ b/src/plugins/languageclient/client.h @@ -136,6 +136,7 @@ public: void activateDocument(TextEditor::TextDocument *document); void deactivateDocument(TextEditor::TextDocument *document); bool documentOpen(const TextEditor::TextDocument *document) const; + TextEditor::TextDocument *documentForFilePath(const Utils::FilePath &file) const; void documentContentsSaved(TextEditor::TextDocument *document); void documentWillSave(Core::IDocument *document); void documentContentsChanged(TextEditor::TextDocument *document,