From f8823f3ccccb6a3b84f7090f40d26bfd75d7657a Mon Sep 17 00:00:00 2001 From: Kirill Bobyrev Date: Thu, 26 Jul 2018 09:41:24 +0000 Subject: [PATCH] [clangd] Give an example for symbol-builder usage `global-symbol-builder` help message mentions `-executor=` option, but doesn't give any example of what the value could be Assuming the most popular use case to be building the whole project index, help message should probably give an example of such usage. Reviewers: ioeric Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D49785 llvm-svn: 338015 --- .../GlobalSymbolBuilderMain.cpp | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/clang-tools-extra/clangd/global-symbol-builder/GlobalSymbolBuilderMain.cpp b/clang-tools-extra/clangd/global-symbol-builder/GlobalSymbolBuilderMain.cpp index 3cd51b919466..0cc0480210c1 100644 --- a/clang-tools-extra/clangd/global-symbol-builder/GlobalSymbolBuilderMain.cpp +++ b/clang-tools-extra/clangd/global-symbol-builder/GlobalSymbolBuilderMain.cpp @@ -150,10 +150,23 @@ SymbolSlab mergeSymbols(tooling::ToolResults *Results) { int main(int argc, const char **argv) { llvm::sys::PrintStackTraceOnErrorSignal(argv[0]); - const char* Overview = - "This is an **experimental** tool to generate YAML-format " - "project-wide symbols for clangd (global code completion). It would be " - "changed and deprecated eventually. Don't use it in production code!"; + const char *Overview = R"( + This is an **experimental** tool to generate YAML-format project-wide symbols + for clangd (global code completion). It would be changed and deprecated + eventually. Don't use it in production code! + + Example usage for building index for the whole project using CMake compile + commands: + + $ global-symbol-builder --executor=all-TUs compile_commands.json > index.yaml + + Example usage for file sequence index without flags: + + $ global-symbol-builder File1.cpp File2.cpp ... FileN.cpp > index.yaml + + Note: only symbols from header files will be collected. + )"; + auto Executor = clang::tooling::createExecutorFromCommandLineArgs( argc, argv, cl::GeneralCategory, Overview);