From e8d8aee537d4c2ecee173a46d14b7720b200bf64 Mon Sep 17 00:00:00 2001 From: Kadir Cetinkaya Date: Wed, 19 Sep 2018 10:16:44 +0000 Subject: [PATCH] [clangd] Add option to enable/disable function argument snippets. Summary: Currently LSP clients cannot directly change EnableFunctionArgSnippets parameter. This patch is to provide them with a way to enable/disable that functionality. Reviewers: hokein, ioeric, ilya-biryukov Reviewed By: ilya-biryukov Subscribers: sammccall, MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D51214 llvm-svn: 342533 --- clang-tools-extra/clangd/tool/ClangdMain.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/clang-tools-extra/clangd/tool/ClangdMain.cpp b/clang-tools-extra/clangd/tool/ClangdMain.cpp index b3b34de..b683943 100644 --- a/clang-tools-extra/clangd/tool/ClangdMain.cpp +++ b/clang-tools-extra/clangd/tool/ClangdMain.cpp @@ -169,6 +169,13 @@ static llvm::cl::opt CompileArgsFrom( "'compile_commands.json' files")), llvm::cl::init(FilesystemCompileArgs), llvm::cl::Hidden); +static llvm::cl::opt EnableFunctionArgSnippets( + "function-arg-placeholders", + llvm::cl::desc("When disabled, completions contain only parentheses for " + "function calls. When enabled, completions also contain " + "placeholders for method parameters."), + llvm::cl::init(clangd::CodeCompleteOptions().EnableFunctionArgSnippets)); + int main(int argc, char *argv[]) { llvm::sys::PrintStackTraceOnErrorSignal(argv[0]); llvm::cl::SetVersionPrinter([](llvm::raw_ostream &OS) { @@ -296,6 +303,7 @@ int main(int argc, char *argv[]) { CCOpts.IncludeIndicator.NoInsert.clear(); } CCOpts.SpeculativeIndexRequest = Opts.StaticIndex; + CCOpts.EnableFunctionArgSnippets = EnableFunctionArgSnippets; // Initialize and run ClangdLSPServer. ClangdLSPServer LSPServer( -- 2.7.4