Skip to content

Commit 4389cb9

Browse files
committed
[clangd] Log version, cwd, args, and transport on startup. NFC
Reviewers: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65146 llvm-svn: 366811
1 parent 6e40ae8 commit 4389cb9

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

clang-tools-extra/clangd/tool/ClangdMain.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,17 @@ int main(int argc, char *argv[]) {
423423
llvm::errs().SetBuffered();
424424
StreamLogger Logger(llvm::errs(), LogLevel);
425425
LoggingSession LoggingSession(Logger);
426+
// Write some initial logs before we start doing any real work.
427+
log("{0}", clang::getClangToolFullVersion("clangd"));
428+
{
429+
SmallString<128> CWD;
430+
if (auto Err = llvm::sys::fs::current_path(CWD))
431+
log("Working directory unknown: {0}", Err.message());
432+
else
433+
log("Working directory: {0}", CWD);
434+
}
435+
for (int I = 0; I < argc; ++I)
436+
log("argv[{0}]: {1}", I, argv[I]);
426437

427438
// If --compile-commands-dir arg was invoked, check value and override default
428439
// path.
@@ -501,12 +512,14 @@ int main(int argc, char *argv[]) {
501512
std::unique_ptr<Transport> TransportLayer;
502513
if (getenv("CLANGD_AS_XPC_SERVICE")) {
503514
#if CLANGD_BUILD_XPC
515+
log("Starting LSP over XPC service");
504516
TransportLayer = newXPCTransport();
505517
#else
506518
llvm::errs() << "This clangd binary wasn't built with XPC support.\n";
507519
return (int)ErrorResultCode::CantRunAsXPCService;
508520
#endif
509521
} else {
522+
log("Starting LSP over stdin/stdout");
510523
TransportLayer = newJSONTransport(
511524
stdin, llvm::outs(),
512525
InputMirrorStream ? InputMirrorStream.getPointer() : nullptr,

0 commit comments

Comments
 (0)