Index: clangd/ClangdLSPServer.h =================================================================== --- clangd/ClangdLSPServer.h +++ clangd/ClangdLSPServer.h @@ -85,7 +85,7 @@ Callback>); void onReference(const ReferenceParams &, Callback>); void onSwitchSourceHeader(const TextDocumentIdentifier &, - Callback>); + Callback>); void onDocumentHighlight(const TextDocumentPositionParams &, Callback>); void onFileEvent(const DidChangeWatchedFilesParams &); Index: clangd/ClangdLSPServer.cpp =================================================================== --- clangd/ClangdLSPServer.cpp +++ clangd/ClangdLSPServer.cpp @@ -825,9 +825,9 @@ void ClangdLSPServer::onSwitchSourceHeader( const TextDocumentIdentifier &Params, - Callback> Reply) { + Callback> Reply) { if (auto Result = Server->switchSourceHeader(Params.uri.file())) - Reply(URI::resolvePath(*Result, Params.uri.file())); + Reply(URIForFile::canonicalize(*Result, Params.uri.file())); else Reply(llvm::None); }