From 70da6dd7c0289c000b8d70a25eeb4bbea73176c7 Mon Sep 17 00:00:00 2001 From: Marcel Joss Date: Fri, 19 May 2023 13:49:30 +0200 Subject: [PATCH] feat(ls): add flag to control tracing --- language-server/src/main/kotlin/tools/samt/ls/App.kt | 12 +++++++++--- .../src/main/kotlin/tools/samt/ls/CliArgs.kt | 3 +++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/language-server/src/main/kotlin/tools/samt/ls/App.kt b/language-server/src/main/kotlin/tools/samt/ls/App.kt index 72d11a85..0dd3a501 100644 --- a/language-server/src/main/kotlin/tools/samt/ls/App.kt +++ b/language-server/src/main/kotlin/tools/samt/ls/App.kt @@ -10,9 +10,11 @@ import java.net.Socket private fun startServer(inStream: InputStream, outStream: OutputStream, trace: PrintWriter? = null) { SamtLanguageServer().use { server -> - val launcher = LSPLauncher.createServerLauncher(server, inStream, outStream, false, trace) + val launcher = LSPLauncher.createServerLauncher(server, inStream, outStream, true, trace) val client = launcher.remoteProxy - redirectLogs(client) + if (outStream == System.out) { + redirectLogs(client) + } server.connect(client) launcher.startListening().get() } @@ -33,7 +35,11 @@ fun main(args: Array) { cliArgs.clientPort?.also { port -> Socket(cliArgs.clientHost, port).use { println("Connecting to client at ${it.remoteSocketAddress}") - startServer(it.inputStream, it.outputStream, PrintWriter(System.out)) + startServer( + it.inputStream, + it.outputStream, + if (cliArgs.isTracing) PrintWriter(System.out) else null + ) } return } diff --git a/language-server/src/main/kotlin/tools/samt/ls/CliArgs.kt b/language-server/src/main/kotlin/tools/samt/ls/CliArgs.kt index 9abe4cea..1557cb7a 100644 --- a/language-server/src/main/kotlin/tools/samt/ls/CliArgs.kt +++ b/language-server/src/main/kotlin/tools/samt/ls/CliArgs.kt @@ -19,4 +19,7 @@ class CliArgs { @Parameter(names = ["--stdio"]) var isStdio: Boolean = false + + @Parameter(names = ["--trace"]) + var isTracing: Boolean = false }