On a scala project, if you have modules in the SBT, when you do a dap-debug it fail with the following error in emacs:
lsp-workspace-command-execute: ‘workspace/executeCommand’ with ‘debug-adapter-start’ failed.
(error "The connected server(s) does not support method workspace/executeCommand.
If I look into .metals/metals.log I find this error
dic. 06, 2021 1:22:28 P. M. org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError
GRAVE: Internal error: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but w
as BEGIN_OBJECT at path $.environmentVariables
java.util.concurrent.CompletionException: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expecte
d BEGIN_ARRAY but was BEGIN_OBJECT at path $.environmentVariables
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:704)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at scala.concurrent.java8.FuturesConvertersImpl$CF.apply(FutureConvertersImpl.scala:29)
at scala.concurrent.java8.FuturesConvertersImpl$CF.apply(FutureConvertersImpl.scala:26)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
at scala.concurrent.BatchingExecutor$Batch.processBatch$1(BatchingExecutor.scala:67)
at scala.concurrent.BatchingExecutor$Batch.$anonfun$run$1(BatchingExecutor.scala:82)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:85)
at scala.concurrent.BatchingExecutor$Batch.run(BatchingExecutor.scala:59)
at scala.concurrent.Future$InternalCallbackExecutor$.unbatchedExecute(Future.scala:875)
at scala.concurrent.BatchingExecutor.execute(BatchingExecutor.scala:110)
at scala.concurrent.BatchingExecutor.execute$(BatchingExecutor.scala:107)
at scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:873)
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:72)
at scala.concurrent.impl.Promise$KeptPromise$Kept.onComplete(Promise.scala:372)
at scala.concurrent.impl.Promise$KeptPromise$Kept.onComplete$(Promise.scala:371)
at scala.concurrent.impl.Promise$KeptPromise$Failed.onComplete(Promise.scala:387)
at scala.concurrent.Promise.tryCompleteWith(Promise.scala:75)
at scala.concurrent.Promise.tryCompleteWith$(Promise.scala:73)
at scala.concurrent.impl.Promise$DefaultPromise.tryCompleteWith(Promise.scala:187)
at scala.concurrent.Promise.completeWith(Promise.scala:67)
at scala.concurrent.Promise.completeWith$(Promise.scala:67)
at scala.concurrent.impl.Promise$DefaultPromise.completeWith(Promise.scala:187)
at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:44)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJ
ECT at path $.environmentVariables
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:22
6)
at com.google.gson.Gson.fromJson(Gson.java:963)
at com.google.gson.Gson.fromJson(Gson.java:1034)
at com.google.gson.Gson.fromJson(Gson.java:1006)
at scala.meta.internal.metals.JsonParser$XtensionSerializedAsJson.$anonfun$as$1(JsonParser.scala:33)
at scala.util.Try$.apply(Try.scala:213)
at scala.meta.internal.metals.JsonParser$XtensionSerializedAsJson.as(JsonParser.scala:33)
at scala.meta.internal.metals.debug.DebugProvider.parseSessionName(DebugProvider.scala:504)
at scala.meta.internal.metals.debug.DebugProvider.start(DebugProvider.scala:88)
at scala.meta.internal.metals.MetalsLanguageServer.$anonfun$executeCommand$14(MetalsLanguageServer.scala:1742)
at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:307)
at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:41)
... 4 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at path $.environmentVariables
at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:163)
at com.google.gson.internal.bind.JsonTreeReader.beginArray(JsonTreeReader.java:72)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80
)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61
)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:22
2)
... 15 more
I have tried both launch.json templates and elisp templates. I have tried templates with and without the environment variables section.
On a scala project, if you have modules in the SBT, when you do a dap-debug it fail with the following error in emacs:
If I look into .metals/metals.log I find this error
I have tried both launch.json templates and elisp templates. I have tried templates with and without the environment variables section.