Metals
bloop
Metals | bloop | |
---|---|---|
18 | 6 | |
2,183 | 913 | |
0.6% | 0.5% | |
9.8 | 9.6 | |
2 days ago | 2 days ago | |
Scala | Scala | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Metals
-
Reconnecting with Scala. What's new?
Links: - https://dotty.epfl.ch/ - https://scala-native.org/en/stable/ - https://www.scala-js.org/ - https://typelevel.org/ - https://zio.dev/ - https://github.com/scala-native/scala-native/pull/3120 - https://github.com/lampepfl/dotty/pull/16517 - https://dotty.epfl.ch/docs/reference/experimental/index.html - https://scala-cli.virtuslab.org/ - https://scalameta.org/metals/ - https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html - https://www.scala-lang.org/blog/2023/04/18/faster-scalajs-development-with-frontend-tooling.html - https://www.scala-lang.org/blog/2022/08/17/long-term-compatibility-plans.html
-
Tmux, NeoVim, etc. to write pure Kotlin code?
You might want to look at Scala, they have proper LSP support with metals which means you can write your code in vscode, neovim, emacs, or even fleet (the new jetbrains text editor).
-
New plugin to support LSP file operations
Please write in the comments if you know of any language servers I should test it with. Currently I tested only metals and rust-analyzer.
-
Why are all the guides on using LSP functionality full of bloat?
If you are using nvim-lspconfig you can pass the settings as a Lua table to the setup function. For example, here are may metals settings:
- Type-Signature.com
-
What is the one thing you need everyday to make your job easier?
Bazel support in Metals. I didn't spend all that time figuring out and adjusting Emacs/Spacemacs and making my workflow (almost) mouse-free just to scrap my config and switch to IDEA's rodent infested ways.
-
Scala 2.13.9 is here
There is one small issue involving code completion returning inappropriate completions in some cases; https://github.com/scalameta/metals/pull/4414 will fix it, once it's included in a release. Perhaps that's the PR you saw?
-
Scala Isn't Fun Anymore
It is, by quite a bit.
While the "Scala IDE" project is dead for all practical purposes, IntelliJ IDEA's Scala plugin is actually pretty amazing. There's also a VisualStudio plugin that does pretty much the same and is advancing by leaps and bounds. There are also interconnecting projects that provide i.e. language server or build server that are reused by other projects. It's pretty modular. Metals (https://scalameta.org/metals/) is amazing.
In general the language has become a wee bit faster to build, there was good progress with build times during the 2.12/2.13 cycles.
With Scala3 the language got a bit simpler; concepts that were implemented explicitly using (hehe) implicits got their own keywords and a lot of the opinionated boilercode that cause a lot of debates is now generated during complication and hidden. A lot of "standardization" has occurred.
- A Python-compatible statically typed language erg-lang/erg
-
Starting with Scala: editor and version choice?
IntelliJ has its own BSP. The other one is Metals. You can use it with many IDEs (vim, emacs, vscode, atom,...). Use it with emacs if you're comfortable with it.
bloop
-
VS Code for Scala 3
Here's the links: * bloop: https://scalacenter.github.io/bloop/ * terminal to IDE (iTerm only): https://alexn.org/blog/2021/07/18/iterm-open-file-cmd-click-ide-semantic-history.html * Switching between JetBrains' and standard typechecker in IDEA: Options -> Languages and Frameworks -> Scala -> Editor tab -> Error highlighting
- Tooling question
- Scala 3 and Web Tech Stack
-
Metals vs SBT? (Newbie question)
If you look at the Build Tools section of the Metals documentation, you'll see how Metals supports sbt. It is admittedly a bit of a roundabout process: Metals first imports the sbt build definition into a tool called bloop that implements the Build Server Protocol that Metals relies on for metadata, compilation, etc. for the project.
-
Confused over current role of bloop with sbt/bsp support
Jorge Vican had finished some work on this in the past, but this feature was abandoned (for now). As u/tgodzik has pointed out, there is not enough interest for this in the community (thanks for replying btw.).
-
Scala Native 0.4.0 is out!
Bloop -- https://github.com/scalacenter/bloop
What are some alternatives?
sbt - sbt, the interactive build tool
Scalastyle - scalastyle
Mill - Mill is a fast JVM build tool that supports Java, Scala, Kotlin and many other languages. 2-4x faster than Gradle and 4-10x faster than Maven for common workflows, Mill aims to make your project’s build process performant, maintainable, and flexible
intellij-plugins - Open-source plugins included in the distribution of IntelliJ IDEA Ultimate and other IDEs based on the IntelliJ Platform
dotty - The Scala 3 compiler, also known as Dotty.