Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    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 :)
    Oops, did I just create a duplicate of scalameta/metals-feature-requests#21 (well, the feature request I’ve created has a smaller scope than this one, I would say…)
    Ólafur Páll Geirsson
    @olafurpg
    The new ticket is good because it has more details. Thanks! @julienrf
    even if this was provided via bsp then it would require a fair amount of custom work to integrate it into IntelliJ.
    I estimate it’s not too hard to implement in Metals with our existing decoration infrastructure
    Need someone to pull up their sleeves and do the work however...
    Tomasz Pasternak
    @tpasternak
    I can't figure out what's broken here https://travis-ci.org/build-server-protocol/build-server-protocol/builds/647315584?utm_source=github_status&utm_medium=notification I understand the test -z $(git ls-files --modified) command is to check whether bsp4j/xtend was called by the user before commit, but on my PC it returns success
    so I need to add some debug logs to .travis.yml, please don't merge it for a moment
    Tomasz Pasternak
    @tpasternak
    OK, rebase helped
    Tomasz Pasternak
    @tpasternak
    It seems that the release fails due to expired/invalid key https://travis-ci.org/build-server-protocol/build-server-protocol/
    Ólafur Páll Geirsson
    @olafurpg
    @tpasternak the release should be fixed now
    Tomasz Pasternak
    @tpasternak
    thanks :thumbsup:
    Tomasz Pasternak
    @tpasternak