Index: clangd/CodeComplete.cpp =================================================================== --- clangd/CodeComplete.cpp +++ clangd/CodeComplete.cpp @@ -972,6 +972,7 @@ Req.RestrictForCodeCompletion = true; Req.Scopes = getQueryScopes(Recorder->CCContext, Recorder->CCSema->getSourceManager()); + Req.ProximityPaths.push_back(FileName); log(llvm::formatv("Code complete: fuzzyFind(\"{0}\", scopes=[{1}])", Req.Query, llvm::join(Req.Scopes.begin(), Req.Scopes.end(), ","))); Index: clangd/index/Index.h =================================================================== --- clangd/index/Index.h +++ clangd/index/Index.h @@ -271,6 +271,9 @@ size_t MaxCandidateCount = UINT_MAX; /// If set to true, only symbols for completion support will be considered. bool RestrictForCodeCompletion = false; + /// Contextually relevant files (e.g. the file we're code-completing in). + /// Paths should be absolute. + std::vector ProximityPaths; }; struct LookupRequest {