Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Laurent Le Brun
    @laurentlb
    @jvican Yes! Did you contact teams developing other editors? (e.g. VS Code)
    Felix Becker
    @felixfbecker
    @olafurpg would love to chat with you too!
    Jorge
    @jvican
    @laurentlb Not yet, I hope we can approach them once we've further develop the protocol and have some success stories to share
    Laurent Le Brun
    @laurentlb
    I think it can be useful to have early feedback.
    Laurent Le Brun
    @laurentlb
    Regarding "PublishDiagnosticsParams": this means a build system should parse the compiler output (or get the structured information somehow), right?
    Ólafur Páll Geirsson
    @olafurpg
    @laurentlb I agree it would be valuable to have feedback from the LSP/VS Code developers. There is some related discussion in https://github.com/Microsoft/language-server-protocol/issues/472#issuecomment-387416447 and https://github.com/Microsoft/language-server-protocol/issues/470#issuecomment-387364987 but it would be good to have a more organized discussion.
    For PublishDiagnosticsParams it'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
    There exist tools to parse compiler output such as http://www.flycheck.org/en/latest/languages.html#flycheck-languages
    Laurent Le Brun
    @laurentlb
    Thanks!
    Laurent Le Brun
    @laurentlb
    Cool, there's now a tracking bug for BSP in VS Code: Microsoft/vscode#52462
    kerr
    @hepin1989
    Bsp will support Java too?
    Seems like so
    Justin Kaeser
    @jastice
    it already does
    Simon Soriano
    @simon0191
    Hi, I'm interested on the protocol. Is this still an active project?
    Ólafur Páll Geirsson
    @olafurpg
    @simon0191 hei! This project is active and used by both the IntelliJ Scala plugin and Metals , a Scala language server
    Shane Delmore
    @ShaneDelmore
    I was just browsing the bsp github repo and noticed bsp4j. Is there a java language server that is compatible with BSP?
    Ólafur Páll Geirsson
    @olafurpg
    This message was deleted
    @ShaneDelmore there are two implemented clients, IntelliJ Scala and Metals, that currently use bsp4j
    Shane Delmore
    @ShaneDelmore
    :thumbsup:
    Tim Nieradzik
    @tindzk
    What is the recommended way of integrating BSP? I saw that bsp4s depends on lsp4s which is not maintained anymore.
    Ólafur Páll Geirsson
    @olafurpg
    @tindzk bsp4j is the recommended library
    bsp4j is used by metals and intellij
    Tim Nieradzik
    @tindzk
    Thanks. I tried bsp4s, but could not figure out how to get back the server response since LanguageClient only takes an output stream. With bsp4j, I got it to work though.
    Are there plans to support Bloop's link command in the specification (for Scala.js and Scala Native)? This appears to be the only Bloop command I would still have to use the CLI for.
    Ólafur Páll Geirsson
    @olafurpg
    It's a good question, any thoughts on how to expose bloop's link via BSP @jvican?
    Jorge
    @jvican
    I think it should be kind-of straightforward, more or less the same as exposing compile. We have a sensible public CLI UX in Bloop that could be used as the starting point of a DAP request.
    Tim Nieradzik
    @tindzk
    I am currently implementing a BSP-based watch mode in Seed as per this comment. After having called buildTargetRun(), what is the recommended way of killing the spawned process?
    Jorge
    @jvican
    You can send a cancellation request
    This message was deleted
    Tim Nieradzik
    @tindzk
    Thanks. I did not see that CompletableFuture provides a cancel() function for this.
    Jorge
    @jvican
    I don’t think that will work
    Oh yeah it will if you use bsp4j
    Or it should
    Tim Nieradzik
    @tindzk

    Yes, cancel() from bsp4j worked fine for me.

    I noticed that buildTargetCompile behaves differently from bloop compile. The former creates the class files in bloop-bsp-clients-classes/ and 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?

    Jorge
    @jvican
    Every BSP client has its own unique set of classes directories. You can obtain the unique classes directory for a target by asking for buildTarget/scalacOptions of 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.
    Tim Nieradzik
    @tindzk
    Thanks! That's a good approach.
    Ólafur Páll Geirsson
    @olafurpg
    WIP website for BSP https://olafurpg.github.io/bsp/index.html Comments welcome in scalacenter/bsp#102
    Olivier NOUGUIER
    @cheleb
    Hi all, is there an initiative to add support for scala/dotty to https://che.eclipse.org (https://www.eclipse.org/che/docs/che-7/adding-support-for-a-new-language/), and is it the right place to talk about such integration ?
    Jorge
    @jvican
    Maybe asking in scalameta/Metals would be more appropriate :smile:
    Ólafur Páll Geirsson
    @olafurpg
    @cheleb a good place to ask that would be https://github.com/lampepfl/dotty/
    Julien Richard-Foy
    @julienrf
    Hello, would it make sense to enrich the BSP with “presentation compiler” features? (such has request type information, completions, or inferred implicit parameters) I believe these features are necessary for building any Scala IDE so it seems to me that they should be part of the BSP.
    Ólafur Páll Geirsson
    @olafurpg
    Julien Richard-Foy
    @julienrf
    Thanks @olafurpg for the link. The “inferred implicit parameters” request is missing from this list (it is Scala-specific). Do we have a place where we discuss about Scala-specific LSP extensions?
    Screenshot from 2019-12-27 14-01-59.png
    It would be nice to bring to all Scala IDEs this very useful feature, which is currently only available in IntelliJ (and which is not using the actual compiler).
    (it shows a call graph of the chained implicit definitions that have been inferred by the compiler)
    Julien Richard-Foy
    @julienrf
    What do you think?
    Ólafur Páll Geirsson
    @olafurpg
    @julienrf that would be a reasonable feature request in the metals repo, where we already have several lsp extensions
    Julien Richard-Foy
    @julienrf
    @olafurpg Done! (scalameta/metals-feature-requests#60) Thanks for your guidance :)