[PATCH] D101275: [clangd] Hide inlay hints capability behind a command-line flag
Nathan Ridge via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 25 20:47:06 PDT 2021
nridge created this revision.
nridge added a reviewer: sammccall.
Herald added subscribers: usaxena95, kadircet, arphaman.
nridge requested review of this revision.
Herald added subscribers: cfe-commits, MaskRay, ilya-biryukov.
Herald added a project: clang-tools-extra.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D101275
Files:
clang-tools-extra/clangd/ClangdLSPServer.cpp
clang-tools-extra/clangd/ClangdServer.h
clang-tools-extra/clangd/tool/ClangdMain.cpp
Index: clang-tools-extra/clangd/tool/ClangdMain.cpp
===================================================================
--- clang-tools-extra/clangd/tool/ClangdMain.cpp
+++ clang-tools-extra/clangd/tool/ClangdMain.cpp
@@ -307,6 +307,10 @@
Hidden,
};
+opt<bool> InlayHints{"inlay-hints", cat(Features),
+ desc("Enable preview of InlayHints feature"), init(false),
+ Hidden};
+
opt<unsigned> WorkerThreadsCount{
"j",
cat(Misc),
@@ -815,6 +819,7 @@
}
Opts.AsyncThreadsCount = WorkerThreadsCount;
Opts.FoldingRanges = FoldingRanges;
+ Opts.InlayHints = InlayHints;
Opts.MemoryCleanup = getMemoryCleanupFunction();
Opts.CodeComplete.IncludeIneligibleResults = IncludeIneligibleResults;
Index: clang-tools-extra/clangd/ClangdServer.h
===================================================================
--- clang-tools-extra/clangd/ClangdServer.h
+++ clang-tools-extra/clangd/ClangdServer.h
@@ -163,6 +163,9 @@
/// Enable preview of FoldingRanges feature.
bool FoldingRanges = false;
+ /// Enable preview of InlayHints feature.
+ bool InlayHints = false;
+
FeatureModuleSet *FeatureModules = nullptr;
explicit operator TUScheduler::Options() const;
Index: clang-tools-extra/clangd/ClangdLSPServer.cpp
===================================================================
--- clang-tools-extra/clangd/ClangdLSPServer.cpp
+++ clang-tools-extra/clangd/ClangdLSPServer.cpp
@@ -571,7 +571,6 @@
{"referencesProvider", true},
{"astProvider", true}, // clangd extension
{"typeHierarchyProvider", true},
- {"clangdInlayHintsProvider", true},
{"memoryUsageProvider", true}, // clangd extension
{"compilationDatabase", // clangd extension
llvm::json::Object{{"automaticReload", true}}},
@@ -608,6 +607,9 @@
if (Opts.FoldingRanges)
ServerCaps["foldingRangeProvider"] = true;
+ if (Opts.InlayHints)
+ ServerCaps["clangdInlayHintsProvider"] = true;
+
std::vector<llvm::StringRef> Commands;
for (llvm::StringRef Command : Handlers.CommandHandlers.keys())
Commands.push_back(Command);
@@ -1477,7 +1479,8 @@
Bind.method("textDocument/documentLink", this, &ClangdLSPServer::onDocumentLink);
Bind.method("textDocument/semanticTokens/full", this, &ClangdLSPServer::onSemanticTokens);
Bind.method("textDocument/semanticTokens/full/delta", this, &ClangdLSPServer::onSemanticTokensDelta);
- Bind.method("clangd/inlayHints", this, &ClangdLSPServer::onInlayHints);
+ if (Opts.InlayHints)
+ Bind.method("clangd/inlayHints", this, &ClangdLSPServer::onInlayHints);
Bind.method("$/memoryUsage", this, &ClangdLSPServer::onMemoryUsage);
if (Opts.FoldingRanges)
Bind.method("textDocument/foldingRange", this, &ClangdLSPServer::onFoldingRange);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101275.340424.patch
Type: text/x-patch
Size: 2815 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210426/1e6bef83/attachment.bin>
More information about the cfe-commits
mailing list