hokein created this revision. hokein added a reviewer: sammccall. Herald added subscribers: kadircet, arphaman, jkorous, MaskRay, ioeric, ilya-biryukov. Herald added a project: clang.
Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D57746 Files: clangd/tool/ClangdMain.cpp Index: clangd/tool/ClangdMain.cpp =================================================================== --- clangd/tool/ClangdMain.cpp +++ clangd/tool/ClangdMain.cpp @@ -203,10 +203,16 @@ static llvm::cl::opt<std::string> ClangTidyChecks( "clang-tidy-checks", - llvm::cl::desc("List of clang-tidy checks to run (this will override " - ".clang-tidy files)"), + llvm::cl::desc( + "List of clang-tidy checks to run (this will override " + ".clang-tidy files). Only meaningful when -clang-tidy flag is on."), llvm::cl::init("")); +static llvm::cl::opt<bool> EnableClangTidy( + "clang-tidy", + llvm::cl::desc("Enable clang-tidy diagnostics."), + llvm::cl::init(true)); + static llvm::cl::opt<bool> SuggestMissingIncludes( "suggest-missing-includes", llvm::cl::desc("Attempts to fix diagnostic errors caused by missing " @@ -441,13 +447,16 @@ } // Create an empty clang-tidy option. - auto OverrideClangTidyOptions = tidy::ClangTidyOptions::getDefaults(); - OverrideClangTidyOptions.Checks = ClangTidyChecks; - tidy::FileOptionsProvider ClangTidyOptProvider( - tidy::ClangTidyGlobalOptions(), - /* Default */ tidy::ClangTidyOptions::getDefaults(), - /* Override */ OverrideClangTidyOptions, FSProvider.getFileSystem()); - Opts.ClangTidyOptProvider = &ClangTidyOptProvider; + std::unique_ptr<tidy::ClangTidyOptionsProvider> ClangTidyOptProvider; + if (EnableClangTidy) { + auto OverrideClangTidyOptions = tidy::ClangTidyOptions::getDefaults(); + OverrideClangTidyOptions.Checks = ClangTidyChecks; + ClangTidyOptProvider = llvm::make_unique<tidy::FileOptionsProvider>( + tidy::ClangTidyGlobalOptions(), + /* Default */ tidy::ClangTidyOptions::getDefaults(), + /* Override */ OverrideClangTidyOptions, FSProvider.getFileSystem()); + } + Opts.ClangTidyOptProvider = ClangTidyOptProvider.get(); Opts.SuggestMissingIncludes = SuggestMissingIncludes; ClangdLSPServer LSPServer( *TransportLayer, FSProvider, CCOpts, CompileCommandsDirPath,
Index: clangd/tool/ClangdMain.cpp =================================================================== --- clangd/tool/ClangdMain.cpp +++ clangd/tool/ClangdMain.cpp @@ -203,10 +203,16 @@ static llvm::cl::opt<std::string> ClangTidyChecks( "clang-tidy-checks", - llvm::cl::desc("List of clang-tidy checks to run (this will override " - ".clang-tidy files)"), + llvm::cl::desc( + "List of clang-tidy checks to run (this will override " + ".clang-tidy files). Only meaningful when -clang-tidy flag is on."), llvm::cl::init("")); +static llvm::cl::opt<bool> EnableClangTidy( + "clang-tidy", + llvm::cl::desc("Enable clang-tidy diagnostics."), + llvm::cl::init(true)); + static llvm::cl::opt<bool> SuggestMissingIncludes( "suggest-missing-includes", llvm::cl::desc("Attempts to fix diagnostic errors caused by missing " @@ -441,13 +447,16 @@ } // Create an empty clang-tidy option. - auto OverrideClangTidyOptions = tidy::ClangTidyOptions::getDefaults(); - OverrideClangTidyOptions.Checks = ClangTidyChecks; - tidy::FileOptionsProvider ClangTidyOptProvider( - tidy::ClangTidyGlobalOptions(), - /* Default */ tidy::ClangTidyOptions::getDefaults(), - /* Override */ OverrideClangTidyOptions, FSProvider.getFileSystem()); - Opts.ClangTidyOptProvider = &ClangTidyOptProvider; + std::unique_ptr<tidy::ClangTidyOptionsProvider> ClangTidyOptProvider; + if (EnableClangTidy) { + auto OverrideClangTidyOptions = tidy::ClangTidyOptions::getDefaults(); + OverrideClangTidyOptions.Checks = ClangTidyChecks; + ClangTidyOptProvider = llvm::make_unique<tidy::FileOptionsProvider>( + tidy::ClangTidyGlobalOptions(), + /* Default */ tidy::ClangTidyOptions::getDefaults(), + /* Override */ OverrideClangTidyOptions, FSProvider.getFileSystem()); + } + Opts.ClangTidyOptProvider = ClangTidyOptProvider.get(); Opts.SuggestMissingIncludes = SuggestMissingIncludes; ClangdLSPServer LSPServer( *TransportLayer, FSProvider, CCOpts, CompileCommandsDirPath,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits