PublishDiagnosticsParamsit's expected that the build tool provides rich metadata for compiler output such as position ranges and message contents. It's up to the build tool whether that's parsed from console output or extracted from a compiler API
buildTargetRun(), what is the recommended way of killing the spawned process?
cancel() from bsp4j worked fine for me.
I noticed that
buildTargetCompile behaves differently from
bloop compile. The former creates the class files in
bloop-internal-classes/, whereas the latter uses the classpath specified in the JSON file.
When packaging modules, I will need access to the compiled classes. I presume I could include the ones from
bloop-bsp-clients-classes/. Is there a better way?
buildTarget/scalacOptionsof every target in the workspace right after the connection is initialized. Then, you can expect those directories to be populated when their corresponding targets are compiled.