void ClangdLSPServer::onReference(const ReferenceParams &Params,
Callback<std::vector<Location>> Reply) {
Server->findReferences(
- Params.textDocument.uri.file(), Params.position, Opts.CodeComplete.Limit,
+ Params.textDocument.uri.file(), Params.position, Opts.ReferencesLimit,
[Reply = std::move(Reply),
IncludeDecl(Params.context.includeDeclaration)](
llvm::Expected<ReferencesResult> Refs) mutable {
/// Enable preview of InlayHints feature.
bool InlayHints = false;
+
+ /// Limit the number of references returned (0 means no limit).
+ size_t ReferencesLimit = 0;
};
ClangdLSPServer(Transport &Transp, const ThreadsafeFS &TFS,
init(100),
};
+opt<int> ReferencesLimit{
+ "limit-references",
+ cat(Features),
+ desc("Limit the number of references returned by clangd. "
+ "0 means no limit (default=1000)"),
+ init(1000),
+};
+
list<std::string> TweakList{
"tweaks",
cat(Features),
}
#endif
Opts.BackgroundIndex = EnableBackgroundIndex;
+ Opts.ReferencesLimit = ReferencesLimit;
auto PAI = createProjectAwareIndex(loadExternalIndex, Sync);
if (StaticIdx) {
IdxStack.emplace_back(std::move(StaticIdx));