Metals v0.10.1 - Tungsten
We're happy to announce the release of Metals v0.10.1, which mainly concentrated on bugfixes together with a couple of smaller improvements. We also added support for the almost ready Scala 3 version 3.0.0-RC2. Its final release is coming soon and Metals will try to make it an amazing experience!
Commits since last release | 173 |
Merged PRs | 86 |
Contributors | 9 |
Closed issues | 29 |
New features | 2 |
For full details: https://github.com/scalameta/metals/milestone/35?closed=1
Metals is a language server for Scala that works with VS Code, Vim, Emacs, Sublime Text and Eclipse. Metals is developed at the Scala Center and VirtusLab with the help from Lunatech along with contributors from the community.
TL;DR
Check out https://scalameta.org/metals/, and give Metals a try!
- Support for Scala 3.0.0-RC2
- Smoother main and test discovery
Smoother main and test discovery
Thanks to some great ideas (and obviously execution) by @ckipp01 it is now possible to specify alternative debug parameters that enable users to:
- Run the main class in the current file, or in case that there are multiple main classes quick pick window will appear for the users to choose the exact main class to run.
- Run all tests in the current file.
- Run all tests in the current target.
To make that work some additional fields must be sent while starting the debug session:
path
- uri to the file that is currently open.runType
- enum value that can either berun
,testFile
ortestTarget
The "args", "jvmOptions", "env", and "envFile" are all valid keys that can be sent as well with the same format as usual.
In VS Code this is achieved via 3 new commands, that can easily bound to shortcuts:
metals.run-current-file
- run main classes in the current filemetals.test-current-file
- run test classes in the current filemetals.test-current-target
- run test classes in the current target
More information can be found in the Debug Adapter Protocol section of the documentation.
Miscellaneous
- Support for Ammonite scripts using Scala 2.12.13 and 2.13.5.
- Fix outline for documents with Scala 3 syntax.
- Remove println that would sometimes print files while indexing them :(
- Show an error when user adds bad dependency into a worksheet.
- Fix issues on Windows with renames not being applied on current file.
- Change project directory to lower case when using New Scala Project.
- Renaming renamed imports now works correctly within a file.
- Fix renaming named parameters in constructors.
- Find alternative symbol references (such as companion object for a case class) when not searching from the definition file.
- Automatically backtick symbols when renaming.
- Fix highlighting overloaded methods.
- Fix classloader issues when using worksheets.
- Fix issue where override was inserted twice for symbols that were already overriden.
- Infer type for higher kinded functions correctly.
- Show better type decorations for higher kinded types.
- Improve indexing of Scala 3 sources, a lot of hard work by @dos65!
Contributors
Big thanks to everybody who contributed to this release or reported an issue!
$ git shortlog -sn --no-merges v0.10.0..v0.10.1
Tomasz Godzik
Chris Kipp
Vadim Chelyshov
AJ Zawawi
Alexandre Archambault
Arthur McGibbon
Eric Peters
Greg Atkinson
Michał Bednarz
Merged PRs
v0.10.1 (2021-04-06)
Merged pull requests:
- Get behind unified slash syntax. #2677 (ckipp01)
- Mtags: fix Scala3 parsing for Windows. #2678 (dos65)
- Update org.eclipse.lsp4j to 0.12.0 #2669 (tgodzik)
- Fix issues with old typesafe config in the worksheets #2674 (tgodzik)
- Update sbt-ci-release to 1.5.7 #2671 (tgodzik)
- [Scala3] Support new Scala3 syntax in symbol index #2600 (dos65)
- Update scalameta to 4.4.11 #2667 (tgodzik)
- Update requests to 0.6.6 #2649 (scala-steward)
- A few changes to docs including a User Configuration section. #2642 (ckipp01)
- Update mdoc_2.12, sbt-mdoc to 2.2.19 #2660 (scala-steward)
- Update scalafix-interfaces to 0.9.27 #2664 (scala-steward)
- Update pprint to 0.6.3 #2648 (scala-steward)
- Update scribe, scribe-file, scribe-slf4j to 3.5.1 #2651 (scala-steward)
- Update guava to 30.1.1-jre #2647 (scala-steward)
- Update directories to 24 #2652 (scala-steward)
- Update coursier to 2.0.16 #2653 (scala-steward)
- Update ammonite-runner to 0.3.2 #2654 (scala-steward)
- Update undertow-core to 2.2.7.Final #2655 (scala-steward)
- Update jna, jna-platform to 5.8.0 #2656 (scala-steward)
- Update flyway-core to 7.7.1 #2658 (scala-steward)
- Update jol-core to 0.15 #2659 (scala-steward)
- Update munit-docs, sbt-munit to 0.7.23 #2661 (scala-steward)
- Update ujson to 1.3.9 #2650 (scala-steward)
- Update sbt-scalafix, scalafix-interfaces to 0.9.27 #2645 (scala-steward)
- Update sbt-debug-adapter to 1.1.0 #2644 (scala-steward)
- Update sbt-dotty to 0.5.4 #2643 (scala-steward)
- Add test to check for occurrences of anonymous using params #2640 (tgodzik)
- Make sure that universal types deco are printed properly #2638 (tgodzik)
- Add support for Scala 3.0.0-RC2 #2639 (tgodzik)
- Make sure higher kinded functions in signatures are inferred properly #2636 (tgodzik)
- Do not insert override twice #2635 (tgodzik)
- Update geny to 0.6.7 #2633 (tgodzik)
- Use correct parent classloader for worksheets. #2631 (ckipp01)
- Add documentation for online IDEs #2370 (MichalBednarz)
- Bump amm version and amm scala 2.13 version #2632 (ckipp01)
- Update organize imports rule to 0.5.0 #2630 (tgodzik)
- Welcome Adrien to the team! #2623 (tgodzik)
- Welcome Vadim to the team! #2624 (tgodzik)
- Fix highlighting overloaded methods #2622 (tgodzik)
- Run Scala 3 migrate on mtags sources #2617 (tgodzik)
- Update dead links #2620 (ajzawawi)
- Add init option to strip color from DAP communication. #2615 (ckipp01)
- Show better message if no semanticdb is found for testFile. #2602 (ckipp01)
- Automatically backtick symbols when renaming #2605 (tgodzik)
- Update flyway-core to 7.7.0 #2612 (scala-steward)
- Revert cache-action update #2614 (ckipp01)
- Find alternative symbol references when not searching from the definition file #2601 (tgodzik)
- Update sbt, scripted-plugin to 1.4.9 #2613 (scala-steward)
- Update undertow-core to 2.2.5.Final #2611 (scala-steward)
- Update scribe, scribe-file, scribe-slf4j to 3.5.0 #2610 (scala-steward)
- Update sbt-ci-release to 1.5.6 #2607 (scala-steward)
- Update pprint to 0.6.2 #2608 (scala-steward)
- Update jackson-databind to 2.12.2 #2606 (scala-steward)
- Fix renaming renamed imports when cursor is at the rename #2604 (tgodzik)
- Update ujson to 1.3.0 #2609 (scala-steward)
- Link to the actual metals client commands #2603 (ckipp01)
- Handle changed but locked files on Windows #2599 (Arthurm1)
- Upgrade Coursier from 2.0.12 to 2.0.13 for bootstrap launcher enhancement to download artifacts using global credentials. #2597 (greg-a-atkinson)
- Add tests for Scala 3 semanticdb and additional ones for hovers #2589 (tgodzik)
- Fix renaming named parameters in constructors #2596 (tgodzik)
- Run recent snapshot of scalafmt on Scala 3 sources #2587 (tgodzik)
- Update cache-action to v6 #2588 (alexarchambault)
- Fix renaming renamed imports #2586 (tgodzik)
- Change project directory to lower case when using New Scala Project #2585 (tgodzik)
- Set compilationUnit when using Dotty parser #2584 (tgodzik)
- Try to capture a better message on BSP exceptions. #2581 (ckipp01)
- Smoother main and test discovery #2532 (ckipp01)
- Update millw scripts to the latest released ones #2579 (tgodzik)
- Update metals doctor hint to match exact 'Import build' instead of 'Build import' #2578 (er1c)
- Update scalafix #2577 (ckipp01)
- [Scala 3] Don't suggest inferred type code action #2576 (tgodzik)
- Fix issues with renames on Windows #2574 (tgodzik)
- Ensure token edit distance is always calculated with correct dialect. #2552 (ckipp01)
- [Scala3] FoldingRange - tests for new syntax #2543 (dos65)
- Update munit-docs, sbt-munit to 0.7.22 #2572 (scala-steward)
- Update interface to 1.0.3 #2567 (scala-steward)
- Update mdoc_2.12, sbt-mdoc to 2.2.18 #2571 (scala-steward)
- Update flyway-core to 7.5.4 #2568 (scala-steward)
- Update coursier to 2.0.12 #2566 (scala-steward)
- Update scribe, scribe-file, scribe-slf4j to 3.4.0 #2565 (scala-steward)
- Update sbt-scalafix, scalafix-interfaces to 0.9.26 #2564 (scala-steward)
- Show an error to the user if they are using a bad dep in a worksheet. #2560 (ckipp01)
- Remove println in SemanticdbTextDocumentProvider #2557 (tgodzik)
- [Scala3] DocumentSymbols - use proper dialect for tree rendering #2553 (dos65)
- Add support for Ammonite scripts with Scala 2.12.13 #2548 (tgodzik)
- Add release notes for Metals v0.10.0 #2529 (tgodzik)