Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Ó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
    Tomasz Pasternak
    @tpasternak
    Hi, I opened a PR with jvmRunEnvironment, which was a follow up of our discussions on jvmRunEnvironment when we decided, we want to have these two environment endpoints separate. In case if you'd like to merge them to a sigle jvmEnvironment instead, please just let me know.
    shaurya gupta
    @sureyeaah
    Hi everyone! I'm investigating how a build server can be useful for Clangd (c++ language server).
    How does an LSP server interact with a BSP server? Do they talk directly or does the editor somehow act as a middle agent?
    Ólafur Páll Geirsson
    @olafurpg
    Hi @sureyeaah ! That sounds exciting. We had had a lot of success using BSP in the JVM ecosystem for Scala and Java. It would be great to see BSP used in other contexts.