diff options
Diffstat (limited to 'clang-tools-extra/clangd/tool/ClangdMain.cpp')
| -rw-r--r-- | clang-tools-extra/clangd/tool/ClangdMain.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/clang-tools-extra/clangd/tool/ClangdMain.cpp b/clang-tools-extra/clangd/tool/ClangdMain.cpp index dcfc6f70fe5..8ec6716ca75 100644 --- a/clang-tools-extra/clangd/tool/ClangdMain.cpp +++ b/clang-tools-extra/clangd/tool/ClangdMain.cpp @@ -253,11 +253,8 @@ int main(int argc, char *argv[]) { // Use buffered stream to stderr (we still flush each log message). Unbuffered // stream can cause significant (non-deterministic) latency for the logger. llvm::errs().SetBuffered(); - JSONOutput Out(llvm::outs(), llvm::errs(), LogLevel, - InputMirrorStream ? InputMirrorStream.getPointer() : nullptr, - PrettyPrint); - - clangd::LoggingSession LoggingSession(Out); + JSONOutput Logger(llvm::errs(), LogLevel); + clangd::LoggingSession LoggingSession(Logger); // If --compile-commands-dir arg was invoked, check value and override default // path. @@ -317,12 +314,16 @@ int main(int argc, char *argv[]) { CCOpts.AllScopes = AllScopesCompletion; // Initialize and run ClangdLSPServer. + // Change stdin to binary to not lose \r\n on windows. + llvm::sys::ChangeStdinToBinary(); + auto Transport = newJSONTransport( + stdin, llvm::outs(), + InputMirrorStream ? InputMirrorStream.getPointer() : nullptr, PrettyPrint, + InputStyle); ClangdLSPServer LSPServer( - Out, CCOpts, CompileCommandsDirPath, + *Transport, CCOpts, CompileCommandsDirPath, /*ShouldUseInMemoryCDB=*/CompileArgsFrom == LSPCompileArgs, Opts); constexpr int NoShutdownRequestErrorCode = 1; llvm::set_thread_name("clangd.main"); - // Change stdin to binary to not lose \r\n on windows. - llvm::sys::ChangeStdinToBinary(); - return LSPServer.run(stdin, InputStyle) ? 0 : NoShutdownRequestErrorCode; + return LSPServer.run() ? 0 : NoShutdownRequestErrorCode; } |

