Author: sammccall Date: Tue Feb 13 19:20:07 2018 New Revision: 325097 URL: http://llvm.org/viewvc/llvm-project?rev=325097&view=rev Log: [clangd] Configure clangd tracing with CLANGD_TRACE env instead of -trace flag
Modified: clang-tools-extra/trunk/clangd/tool/ClangdMain.cpp clang-tools-extra/trunk/test/clangd/trace.test Modified: clang-tools-extra/trunk/clangd/tool/ClangdMain.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clangd/tool/ClangdMain.cpp?rev=325097&r1=325096&r2=325097&view=diff ============================================================================== --- clang-tools-extra/trunk/clangd/tool/ClangdMain.cpp (original) +++ clang-tools-extra/trunk/clangd/tool/ClangdMain.cpp Tue Feb 13 19:20:07 2018 @@ -17,6 +17,7 @@ #include "llvm/Support/Path.h" #include "llvm/Support/Program.h" #include "llvm/Support/raw_ostream.h" +#include <cstdlib> #include <iostream> #include <memory> #include <string> @@ -123,12 +124,6 @@ static llvm::cl::opt<Path> InputMirrorFi "Mirror all LSP input to the specified file. Useful for debugging."), llvm::cl::init(""), llvm::cl::Hidden); -static llvm::cl::opt<Path> TraceFile( - "trace", - llvm::cl::desc( - "Trace internal events and timestamps in chrome://tracing JSON format"), - llvm::cl::init(""), llvm::cl::Hidden); - static llvm::cl::opt<bool> EnableIndexBasedCompletion( "enable-index-based-completion", llvm::cl::desc( @@ -176,15 +171,18 @@ int main(int argc, char *argv[]) { } } - // Setup tracing facilities. + // Setup tracing facilities if CLANGD_TRACE is set. In practice enabling a + // trace flag in your editor's config is annoying, launching with + // `CLANGD_TRACE=trace.json vim` is easier. llvm::Optional<llvm::raw_fd_ostream> TraceStream; std::unique_ptr<trace::EventTracer> Tracer; - if (!TraceFile.empty()) { + if (auto *TraceFile = getenv("CLANGD_TRACE")) { std::error_code EC; TraceStream.emplace(TraceFile, /*ref*/ EC, llvm::sys::fs::F_RW); if (EC) { - TraceFile.reset(); - llvm::errs() << "Error while opening trace file: " << EC.message(); + TraceStream.reset(); + llvm::errs() << "Error while opening trace file " << TraceFile << ": " + << EC.message(); } else { Tracer = trace::createJSONTracer(*TraceStream, PrettyPrint); } Modified: clang-tools-extra/trunk/test/clangd/trace.test URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/clangd/trace.test?rev=325097&r1=325096&r2=325097&view=diff ============================================================================== --- clang-tools-extra/trunk/test/clangd/trace.test (original) +++ clang-tools-extra/trunk/test/clangd/trace.test Tue Feb 13 19:20:07 2018 @@ -1,4 +1,4 @@ -# RUN: clangd -lit-test -trace %t < %s && FileCheck %s < %t +# RUN: CLANGD_TRACE=%t clangd -lit-test < %s && FileCheck %s < %t {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"clangd","capabilities":{},"trace":"off"}} --- {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"test:///foo.c","languageId":"c","version":1,"text":"void main() {}"}}} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits