LSP: Support remote LSP file paths

Change-Id: If3cf1b8d675ef091427dbcd703c7d14b384a1b3a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
David Schulz
2022-12-15 07:23:55 +01:00
parent 0b33a08af1
commit 2d0456f085
36 changed files with 424 additions and 310 deletions

View File

@@ -18,8 +18,8 @@ DocumentSymbolCache::DocumentSymbolCache(Client *client)
{
auto connectDocument = [this](Core::IDocument *document) {
connect(document, &Core::IDocument::contentsChanged, this, [document, this]() {
const auto uri = DocumentUri::fromFilePath(document->filePath());
m_cache.remove(DocumentUri::fromFilePath(document->filePath()));
const auto uri = m_client->hostPathToServerUri(document->filePath());
m_cache.remove(uri);
auto requestIdIt = m_runningRequests.find(uri);
if (requestIdIt != m_runningRequests.end()) {
m_client->cancelRequest(requestIdIt.value());
@@ -54,7 +54,8 @@ void DocumentSymbolCache::requestSymbols(const DocumentUri &uri, Schedule schedu
bool clientSupportsDocumentSymbols(const Client *client, const DocumentUri &uri)
{
QTC_ASSERT(client, return false);
const auto doc = TextEditor::TextDocument::textDocumentForFilePath(uri.toFilePath());
const auto doc = TextEditor::TextDocument::textDocumentForFilePath(
uri.toFilePath(client->hostPathMapper()));
return client->supportsDocumentSymbols(doc);
}