From 3eb4009944ce04c5f7dba3874c9411104deeb163 Mon Sep 17 00:00:00 2001
From: nocontribute <>
Date: Sun, 24 Nov 2024 04:01:59 +0900
Subject: [PATCH] docs: use `authors.yml`
---
website/blog/2018-12-06-iron.md | 4 +-
.../blog/2018-12-12-fast-goto-definition.md | 4 +-
website/blog/2018-12-14-iron.md | 4 +-
website/blog/2019-01-22-bloom-filters.md | 4 +-
website/blog/2019-01-24-tin.md | 4 +-
website/blog/2019-02-01-tin.md | 4 +-
website/blog/2019-04-12-mercury.md | 4 +-
website/blog/2019-04-26-mercury.md | 4 +-
website/blog/2019-06-11-radium.md | 4 +-
website/blog/2019-06-28-thorium.md | 4 +-
website/blog/2019-09-02-thorium.md | 4 +-
website/blog/2019-09-12-thorium.md | 4 +-
website/blog/2019-09-23-thorium.md | 4 +-
website/blog/2020-01-10-cobalt.md | 4 +-
website/blog/2020-02-26-cobalt.md | 4 +-
website/blog/2020-03-19-cobalt.md | 4 +-
website/blog/2020-04-10-cobalt.md | 4 +-
website/blog/2020-05-04-lithium.md | 5 +-
website/blog/2020-07-01-lithium.md | 5 +-
website/blog/2020-07-15-lithium.md | 5 +-
.../blog/2020-07-23-configuring-a-client.md | 55 +++--
website/blog/2020-08-19-lithium.md | 5 +-
website/blog/2020-09-21-lithium.md | 4 +-
website/blog/2020-11-06-sbt-BSP-support.md | 80 +++----
website/blog/2020-11-10-lithium.md | 8 +-
website/blog/2020-11-20-lithium.md | 12 +-
website/blog/2020-11-26-lithium.md | 4 +-
website/blog/2020-12-19-lithium.md | 4 +-
website/blog/2021-01-19-lithium.md | 11 +-
website/blog/2021-02-02-metals-retro-part1.md | 143 ++++++------
website/blog/2021-02-24-tungsten.md | 4 +-
website/blog/2021-04-06-tungsten.md | 4 +-
website/blog/2021-04-20-tungsten.md | 10 +-
website/blog/2021-05-17-tungsten.md | 4 +-
website/blog/2021-05-31-tungsten.md | 7 +-
website/blog/2021-07-14-tungsten.md | 58 ++---
website/blog/2021-09-06-tungsten.md | 4 +-
website/blog/2021-09-16-tungsten.md | 4 +-
website/blog/2021-10-26-tungsten.md | 129 ++++++-----
website/blog/2021-11-03-tungsten.md | 4 +-
website/blog/2022-01-12-aluminium.md | 7 +-
website/blog/2022-01-17-aluminium.md | 7 +-
.../2022-02-23-towards-better-releases.md | 82 ++++---
website/blog/2022-03-08-aluminium.md | 97 ++++----
website/blog/2022-04-26-aluminium.md | 155 +++++++------
website/blog/2022-04-27-aluminium.md | 18 +-
website/blog/2022-04-28-aluminium.md | 17 +-
website/blog/2022-06-03-aluminium.md | 115 ++++++----
website/blog/2022-07-04-aluminium.md | 6 +-
website/blog/2022-08-10-aluminium.md | 55 +++--
website/blog/2022-10-06-aluminium.md | 10 +-
website/blog/2023-01-02-aluminium.md | 4 +-
website/blog/2023-03-02-aluminium.md | 22 +-
website/blog/2023-04-21-aluminium.md | 117 +++++++---
website/blog/2023-07-17-workspace-folders.md | 81 +++++--
website/blog/2023-07-19-silver.md | 8 +-
website/blog/2023-08-28-silver.md | 69 +++---
website/blog/2023-10-17-silver.md | 208 +++++++++++------
website/blog/2023-12-12-bismuth.md | 4 +-
website/blog/2024-02-07-bismuth.md | 214 ++++++++++++------
website/blog/2024-02-15-bismuth.md | 34 +--
website/blog/2024-04-15-thalium.md | 4 +-
website/blog/2024-05-16-thallium.md | 16 +-
website/blog/2024-06-19-thallium.md | 184 +++++++++------
website/blog/2024-07-12-thallium.md | 4 +-
website/blog/2024-07-24-thallium.md | 32 ++-
website/blog/2024-08-01-thallium.md | 4 +-
website/blog/2024-10-24-palladium.md | 6 +-
website/blog/2024-11-15-palladium.md | 4 +-
69 files changed, 1258 insertions(+), 963 deletions(-)
diff --git a/website/blog/2018-12-06-iron.md b/website/blog/2018-12-06-iron.md
index 58b473f3126..55f0ab8f9f0 100644
--- a/website/blog/2018-12-06-iron.md
+++ b/website/blog/2018-12-06-iron.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Metals v0.3 - Iron
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
We are excited to announce the release of Metals v0.3, codename "Iron" 🎉 Metals
diff --git a/website/blog/2018-12-12-fast-goto-definition.md b/website/blog/2018-12-12-fast-goto-definition.md
index c3ac22185d8..219427504f3 100644
--- a/website/blog/2018-12-12-fast-goto-definition.md
+++ b/website/blog/2018-12-12-fast-goto-definition.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Fast goto definition with low memory footprint
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
Metals throws away its navigation index when it shuts down. Next time it starts,
diff --git a/website/blog/2018-12-14-iron.md b/website/blog/2018-12-14-iron.md
index e0a65a18dc5..c480f4156ea 100644
--- a/website/blog/2018-12-14-iron.md
+++ b/website/blog/2018-12-14-iron.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Metals v0.3.2 - Iron
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
We are pleased to announce the release of Metals v0.3.2. Metals is a language
diff --git a/website/blog/2019-01-22-bloom-filters.md b/website/blog/2019-01-22-bloom-filters.md
index 08025631d8a..36c922fbc09 100644
--- a/website/blog/2019-01-22-bloom-filters.md
+++ b/website/blog/2019-01-22-bloom-filters.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Low-memory symbol indexing with bloom filters
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
The latest Metals release introduces three new in-memory indexes to implement
diff --git a/website/blog/2019-01-24-tin.md b/website/blog/2019-01-24-tin.md
index c8a91373e56..33f348db0f7 100644
--- a/website/blog/2019-01-24-tin.md
+++ b/website/blog/2019-01-24-tin.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Metals v0.4.0 - Tin
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
We are excited to announce the release of Metals v0.4, codename "Tin" 🎉 Metals
diff --git a/website/blog/2019-02-01-tin.md b/website/blog/2019-02-01-tin.md
index 783f0e695ac..adc07964982 100644
--- a/website/blog/2019-02-01-tin.md
+++ b/website/blog/2019-02-01-tin.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Metals v0.4.4 - Tin
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
Metals is a language server for Scala that works with VS Code, Atom, Vim,
diff --git a/website/blog/2019-04-12-mercury.md b/website/blog/2019-04-12-mercury.md
index e7f6bc38a6d..e473ef4fde4 100644
--- a/website/blog/2019-04-12-mercury.md
+++ b/website/blog/2019-04-12-mercury.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Metals v0.5.0 - Mercury
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
We are excited to announce the release of Metals v0.5, codename "Mercury" 🎉
diff --git a/website/blog/2019-04-26-mercury.md b/website/blog/2019-04-26-mercury.md
index bc1c6c0a642..49235d1d2ef 100644
--- a/website/blog/2019-04-26-mercury.md
+++ b/website/blog/2019-04-26-mercury.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Metals v0.5.1 - Mercury
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://avatars2.githubusercontent.com/u/1408093?s=460&v=4
---
This release introduces minor improvements and bug fixes with highlights
diff --git a/website/blog/2019-06-11-radium.md b/website/blog/2019-06-11-radium.md
index 8209025ed8b..f51762a6ee1 100644
--- a/website/blog/2019-06-11-radium.md
+++ b/website/blog/2019-06-11-radium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.6.1 - Radium
-authorURL: https://twitter.com/tomekgodzik
-authorImageURL: https://avatars1.githubusercontent.com/u/3807253?s=460&v=4
---
We are excited to announce the release of Metals v0.6.1, codename "Radium" 🎉
diff --git a/website/blog/2019-06-28-thorium.md b/website/blog/2019-06-28-thorium.md
index dbb0eadaba3..82a2e167291 100644
--- a/website/blog/2019-06-28-thorium.md
+++ b/website/blog/2019-06-28-thorium.md
@@ -1,8 +1,6 @@
---
-author: Ólafur Páll Geirsson
+authors: olafurpg
title: Metals v0.7.0 - Thorium
-authorURL: https://twitter.com/olafurpg
-authorImageURL: https://github.com/olafurpg.png
---
We are excited to announce the release of Metals v0.7.0 - codename "Thorium" 🎉
diff --git a/website/blog/2019-09-02-thorium.md b/website/blog/2019-09-02-thorium.md
index 3000e8d409e..968e0900673 100644
--- a/website/blog/2019-09-02-thorium.md
+++ b/website/blog/2019-09-02-thorium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.7.2 - Thorium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are excited to announce the release of Metals v0.7.2 - codename "Thorium" 🎉
diff --git a/website/blog/2019-09-12-thorium.md b/website/blog/2019-09-12-thorium.md
index ca5877fe6ce..4c73768f2c2 100644
--- a/website/blog/2019-09-12-thorium.md
+++ b/website/blog/2019-09-12-thorium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.7.5 - Thorium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are excited to announce the release of Metals v0.7.5 - codename "Thorium" 🎉
diff --git a/website/blog/2019-09-23-thorium.md b/website/blog/2019-09-23-thorium.md
index 6b5ff268133..3752856a90c 100644
--- a/website/blog/2019-09-23-thorium.md
+++ b/website/blog/2019-09-23-thorium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.7.6 - Thorium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are excited to announce the release of Metals v0.7.6, which will most likely
diff --git a/website/blog/2020-01-10-cobalt.md b/website/blog/2020-01-10-cobalt.md
index 897b6837cf3..e7614f695f2 100644
--- a/website/blog/2020-01-10-cobalt.md
+++ b/website/blog/2020-01-10-cobalt.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.8.0 - Cobalt
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are excited to announce the release of Metals v0.8.0, codename Cobalt. This
diff --git a/website/blog/2020-02-26-cobalt.md b/website/blog/2020-02-26-cobalt.md
index 1b24ed9d774..1787cf5d1a5 100644
--- a/website/blog/2020-02-26-cobalt.md
+++ b/website/blog/2020-02-26-cobalt.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.8.1 - Cobalt
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are excited to announce the release of Metals v0.8.1. This release includes a
diff --git a/website/blog/2020-03-19-cobalt.md b/website/blog/2020-03-19-cobalt.md
index c83ed2d65d8..0bb3213fb11 100644
--- a/website/blog/2020-03-19-cobalt.md
+++ b/website/blog/2020-03-19-cobalt.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.8.3 - Cobalt
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are happy to announce the release of Metals v0.8.3, which main purpose is
diff --git a/website/blog/2020-04-10-cobalt.md b/website/blog/2020-04-10-cobalt.md
index 41a2fc4b272..6e8dbcc0320 100644
--- a/website/blog/2020-04-10-cobalt.md
+++ b/website/blog/2020-04-10-cobalt.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.8.4 - Cobalt
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are happy to announce the release of Metals v0.8.4, which will most likely be
diff --git a/website/blog/2020-05-04-lithium.md b/website/blog/2020-05-04-lithium.md
index d05230e590f..1510edf3216 100644
--- a/website/blog/2020-05-04-lithium.md
+++ b/website/blog/2020-05-04-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.0 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We are happy to announce the release of Metals v0.9.0, codename "Lithium", which
@@ -160,7 +158,6 @@ Aleksei Alefirov
Naoki Takezoe
Nathaniel Fischer
Tomasz Pasternak
-
```
## Merged PRs
diff --git a/website/blog/2020-07-01-lithium.md b/website/blog/2020-07-01-lithium.md
index 53c58b63880..1ba5a4ee3c8 100644
--- a/website/blog/2020-07-01-lithium.md
+++ b/website/blog/2020-07-01-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.1 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.1, which focused on fixing
@@ -269,7 +267,6 @@ Martin Duhem
ag91
faizk
Łukasz Wawrzyk
-
```
## Merged PRs
diff --git a/website/blog/2020-07-15-lithium.md b/website/blog/2020-07-15-lithium.md
index 04de4f8f128..8693b25946a 100644
--- a/website/blog/2020-07-15-lithium.md
+++ b/website/blog/2020-07-15-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.2 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.2, which mostly adds support
@@ -85,7 +83,6 @@ Tomasz Godzik
Jorge Vicente Cantero
Claudio Bley
Robin Raju
-
```
## Merged PRs
diff --git a/website/blog/2020-07-23-configuring-a-client.md b/website/blog/2020-07-23-configuring-a-client.md
index 043de5fe951..464c95ab936 100644
--- a/website/blog/2020-07-23-configuring-a-client.md
+++ b/website/blog/2020-07-23-configuring-a-client.md
@@ -1,8 +1,6 @@
---
-author: Chris Kipp
+authors: ckipp
title: A Dive into Configuring Metals
-authorURL: https://twitter.com/ckipp01
-authorImageURL: https://avatars1.githubusercontent.com/u/13974112?s=400&u=7b6a2ddab8eec6f99e4e40ae9b81f71cb5ba92e5&v=4
---
As of this last Metals release, it's now 100% possible to fully configure Metals
@@ -20,12 +18,12 @@ all the various editors.
Looking back to the Fall of 2018, you see a giant glimpse of Metals becoming
what it is today when looking at a giant commit by
-[@olafurpg](https://twitter.com/olafurpg) with the title [Implement pretty
-basic language server and build
+[@olafurpg](https://twitter.com/olafurpg) with the title
+[Implement pretty basic language server and build
client.](https://github.com/scalameta/metals/commit/df6b41acaad1978ffd1fa25c41909c38425932ab).
It's a pretty fascinating commit to look at if you're interested in the
-beginnings of Metals, but I want to focus in on a specific file that still exists
-today, which is the
+beginnings of Metals, but I want to focus in on a specific file that still
+exists today, which is the
[MetalsServerConfig.scala](https://github.com/scalameta/metals/commit/df6b41acaad1978ffd1fa25c41909c38425932ab#diff-dc72b5c684177c884881164ab17182eb).
In this file you see the first configuration options that existed for Metals.
You see things like `isLogShowMessage` to ensure users were correctly getting
@@ -54,6 +52,7 @@ System.getProperty("metals.client", "unknown") match {
)
...
```
+
The property would then be set when the user would bootstrap Metals. This
started out as a manual process for almost all the editors utilizing
[Coursier](https://github.com/coursier/coursier). This still actually remains a
@@ -93,7 +92,7 @@ easily change a setting, even while in the editor. For example, we have a
current setting `metals.superMethodLensesEnabled` which when enabled will
display a code lens that when invoked will either go to the parent class
containing the definition of the method or symbol or display the full method
-hierarchy allowing you to choose where to go.
+hierarchy allowing you to choose where to go.
Here is an example of what this looks like in Vim:
![Super Method Hierarchy](https://i.imgur.com/rEvhzG1.png)
@@ -106,8 +105,8 @@ configuration value and notify the server via
[`workspace/didChangeConfiguration`](https://microsoft.github.io/language-server-protocol/specification#workspace_didChangeConfiguration).
This can fully happen for most of the user configuration values without any need
to restart the server. You can see the first configuration options added this
-way in [this
-commit](https://github.com/scalameta/metals/commit/f4706ec75afb9bf797e3144f4a0e91bb0b186e07)
+way in
+[this commit](https://github.com/scalameta/metals/commit/f4706ec75afb9bf797e3144f4a0e91bb0b186e07)
where the ability to define your `JAVA_HOME` was added. With now allowing for
user configurations in Metals, this allowed for an even more customized
experience.
@@ -121,15 +120,15 @@ way was needed for the client to express that it supported these extensions.
This is when Metals started to use the
[`ClientCapabilities.experimental`](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#initialize)
field which the client needed to declare support the extension. You can see the
-first inklings of this when the [Tree View
-Protocol](https://scalameta.org/metals/docs/editors/tree-view-protocol.html) was
-introduced [here in this
-commit](https://github.com/scalameta/metals/commit/a55a2413ef10237c8510eb707c0de0cd03b83d85#diff-f8c05eebbf12c9c21a7d568f09b500ea).
+first inklings of this when the
+[Tree View Protocol](https://scalameta.org/metals/docs/editors/tree-view-protocol.html)
+was introduced
+[here in this commit](https://github.com/scalameta/metals/commit/a55a2413ef10237c8510eb707c0de0cd03b83d85#diff-f8c05eebbf12c9c21a7d568f09b500ea).
This then continued to be further expanded as we introduced more extensions.
-As it became easier for various clients to set this, we slowly [started to
-migrate](https://github.com/scalameta/metals/pull/1414) other options that could
-only be previously set via server properties to
+As it became easier for various clients to set this, we slowly
+[started to migrate](https://github.com/scalameta/metals/pull/1414) other
+options that could only be previously set via server properties to
`ClientCapabilities.experimental`. So settings like which format you'd like the
Doctor to return could now be set directly by the client without need to
bootstrap the server with a specific property. This allowed for much easier
@@ -149,8 +148,8 @@ configured Metals via `InitializationOptions` without the need to set any server
properties. In theory this also meant that you could not use the same Metals
executable for VS Code, Vim, or Emacs since the server is fully being configured
by the client itself. The current settings that can be passed in and their
-defaults are explained in detail [here on the
-website](https://scalameta.org/metals/docs/integrations/new-editor#initializationoptions),
+defaults are explained in detail
+[here on the website](https://scalameta.org/metals/docs/integrations/new-editor#initializationoptions),
but the interface is as follows:
```typescript
@@ -175,6 +174,7 @@ interface MetalsInitializationOptions {
openNewWindowProvider?: boolean;
}
```
+
```typescript
interface CompilerInitializationOptions {
completionCommand?: string;
@@ -203,21 +203,20 @@ While all of the old server properties still exist for Metals, it's no longer
recommended to use them to configure Metals. However, there are still a few
server properties that remain only server properties since they are not meant to
be widely used, and aren't exactly recommended to use for the average user. You
-can see an up to date list of these [here on the
-website](https://scalameta.org/metals/docs/integrations/new-editor#metals-server-properties)
+can see an up to date list of these
+[here on the website](https://scalameta.org/metals/docs/integrations/new-editor#metals-server-properties)
and what functionality they provide.
## Conclusion
As of Metals 0.9.2 it's fully possibly for all clients to use a default
bootstrapped Metals that can fully be configured via `InitializationOptions`.
-There is a freshly updated [Integrating a new
-editor](https://scalameta.org/metals/docs/editors/new-editor.html) section on
-the website to help explain how to exactly configure a client for usage with
-Metals. As always, don't hesitate to reach out on any of the various channels
-located in the footer or submit an issue to either improve documentation or to
-log a bug. Also as a reminder, there is a separate repo for
+There is a freshly updated
+[Integrating a new editor](https://scalameta.org/metals/docs/editors/new-editor.html)
+section on the website to help explain how to exactly configure a client for
+usage with Metals. As always, don't hesitate to reach out on any of the various
+channels located in the footer or submit an issue to either improve
+documentation or to log a bug. Also as a reminder, there is a separate repo for
[metals-feature-requests](https://github.com/scalameta/metals-feature-requests).
-
Happy coding with Metals!
diff --git a/website/blog/2020-08-19-lithium.md b/website/blog/2020-08-19-lithium.md
index a26bd399327..6a7ceb3d75f 100644
--- a/website/blog/2020-08-19-lithium.md
+++ b/website/blog/2020-08-19-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.3 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.3, which adds a couple of
@@ -137,7 +135,6 @@ Adrien Piquerez
Ayoub Benali
Krzysztof Bochenek
Olafur Pall Geirsson
-
```
## Merged PRs
diff --git a/website/blog/2020-09-21-lithium.md b/website/blog/2020-09-21-lithium.md
index 8520e875f2b..a16e8023e88 100644
--- a/website/blog/2020-09-21-lithium.md
+++ b/website/blog/2020-09-21-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.4 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.4, which focuses on
diff --git a/website/blog/2020-11-06-sbt-BSP-support.md b/website/blog/2020-11-06-sbt-BSP-support.md
index 4b14c77b8fa..6492bef45b8 100644
--- a/website/blog/2020-11-06-sbt-BSP-support.md
+++ b/website/blog/2020-11-06-sbt-BSP-support.md
@@ -1,20 +1,18 @@
---
-author: Chris Kipp
+authors: ckipp
title: sbt BSP support
-authorURL: https://twitter.com/ckipp01
-authorImageURL: https://avatars2.githubusercontent.com/u/13974112?v=4
---
-If you've been following the [sbt
-releases](https://github.com/sbt/sbt/releases), 1.4.x introduced some great new
-features, one of those being BSP support. This effort was initiated by community
-members and proposed to the [Scala Center Advisory
-Board](https://github.com/scalacenter/advisoryboard/blob/master/proposals/023-bsp.md).
+If you've been following the
+[sbt releases](https://github.com/sbt/sbt/releases), 1.4.x introduced some great
+new features, one of those being BSP support. This effort was initiated by
+community members and proposed to the
+[Scala Center Advisory Board](https://github.com/scalacenter/advisoryboard/blob/master/proposals/023-bsp.md).
Then thanks to the work of [Adrien Piquerez](https://twitter.com/adrienpi2) and
[Eugene Yokota](https://twitter.com/eed3si9n) BSP support became a reality in
1.4.0. You can read more about the reason behind the work and some of the
-details of the implementation in this blog post: [BSP Support in sbt
-1.4](https://www.scala-lang.org/blog/2020/10/27/bsp-in-sbt.html).
+details of the implementation in this blog post:
+[BSP Support in sbt 1.4](https://www.scala-lang.org/blog/2020/10/27/bsp-in-sbt.html).
The Metals team is also happy to announce that as of the 0.9.5 release, the
process to use other BSP servers like sbt is now much smoother. In some ways,
@@ -26,24 +24,23 @@ Metals makes for you, and show you how to explore the sbt BSP server.
## What is BSP?
-First off, you may be wondering what BSP is. The [Build Server
-Protocol](https://build-server-protocol.github.io/) (BSP) is a _Protocol for IDEs and
-build tools to communicate about compilation, running, testing, debugging, and
-much more._ If you're familiar with the [Language Server
-Protocol](https://microsoft.github.io/language-server-protocol/) (LSP), BSP is
-complementary to LSP and inspired by it. Where LSP allows your editor to
-abstract over various programming languages by a shared way to communicate to a
-language server, BSP allows IDE's to abstract over various build servers. A
-typical example of this can be illustrated like so:
+First off, you may be wondering what BSP is. The
+[Build Server Protocol](https://build-server-protocol.github.io/) (BSP) is a
+_Protocol for IDEs and build tools to communicate about compilation, running,
+testing, debugging, and much more._ If you're familiar with the
+[Language Server Protocol](https://microsoft.github.io/language-server-protocol/)
+(LSP), BSP is complementary to LSP and inspired by it. Where LSP allows your
+editor to abstract over various programming languages by a shared way to
+communicate to a language server, BSP allows IDE's to abstract over various
+build servers. A typical example of this can be illustrated like so:
![LSP BSP example](https://i.imgur.com/0RRUDlU.png)
You have your editor (Emacs) communicating with Metals via LSP, and then Metals
communicating with a BSP server (Bloop) via BSP. This communication over BSP can
be about compiling your code, running your code, defining sources in your
-workspace, etc. You can read all about the various communication types [here in
-the
-protocol](https://build-server-protocol.github.io/docs/specification#actual-protocol).
+workspace, etc. You can read all about the various communication types
+[here in the protocol](https://build-server-protocol.github.io/docs/specification#actual-protocol).
[Bloop](https://scalacenter.github.io/bloop/) was the first server to implement
BSP, and it's the default build server for all build tools that Metals supports
@@ -60,8 +57,8 @@ Another question you may have is "what does sbt BSP support mean for Metals"?
This means a couple different things. Up until this point, if you wanted to use
sbt BSP, you needed to clear your `.metals/` and `.bloop` directories, and then
start sbt with a specific flag before connecting to it. None of this is
-necessary anymore. In order for [BSP
-discovery](https://build-server-protocol.github.io/docs/server-discovery.html)
+necessary anymore. In order for
+[BSP discovery](https://build-server-protocol.github.io/docs/server-discovery.html)
to happen, you need a `.bsp/*json` file with instructions on how to
start/connect to the build server. A new command has been added to Metals (which
we'll go over down below) that can generate this file for you if it doesn't
@@ -79,22 +76,22 @@ At this point you may be asking, "what's the difference?". For an average user,
there may not be a ton of difference, however I'd like to outline a couple
things that may be relevant to you.
-- Bloop supports the [Debug Adapter
- Protocol](https://microsoft.github.io/debug-adapter-protocol/) (DAP) and sbt
- doesn't. So you'll notice when using sbt as a build server, you won't have
- the `run` or `debug` code lenses directly in your editor like you do with
- Bloop.
+- Bloop supports the
+ [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/)
+ (DAP) and sbt doesn't. So you'll notice when using sbt as a build server, you
+ won't have the `run` or `debug` code lenses directly in your editor like you
+ do with Bloop.
- Bloop writes all the necessary information about your build it needs to disk
- whereas sbt loads it into memory. If you're a user that works for long
- periods of time on a single project, then this may not matter to you at all.
- However, if you jump in and out of projects, without having sbt shell
- running, then you will pay the cost of loading up your build every time.
-- Bloop offers sbt file support that enables completions and hover, whereas
- this is not yet available in the sbt BSP implementation.
+ whereas sbt loads it into memory. If you're a user that works for long periods
+ of time on a single project, then this may not matter to you at all. However,
+ if you jump in and out of projects, without having sbt shell running, then you
+ will pay the cost of loading up your build every time.
+- Bloop offers sbt file support that enables completions and hover, whereas this
+ is not yet available in the sbt BSP implementation.
- sbt gives you access to the full task graph, so for example if you're using
- `BuildInfo`, and you compile with Bloop, your `BuildInfo` won't get
- generated. However, sources will get generated when using sbt server. This
- can help avoid any potential inconsistencies.
+ `BuildInfo`, and you compile with Bloop, your `BuildInfo` won't get generated.
+ However, sources will get generated when using sbt server. This can help avoid
+ any potential inconsistencies.
While there are some more differences, these are probably the main ones you'll
notice as a user. These are both great tools, and you'll have to explore more to
@@ -117,6 +114,7 @@ then auto-connect to the sbt build server. For example in VS Code this looks
like this:
### `metals.generate-bsp-config`
+
![generate-bsp-config](https://i.imgur.com/kBNbtzI.gif)
### `.bsp/sbt.json` already exists
@@ -126,6 +124,7 @@ already exist. In this case, you can simply use the `metals.bsp-switch` command
and choose sbt. For example, using `coc-metals`, it looks like this:
### `metals.bsp-switch`
+
![bsp-switch](https://i.imgur.com/6tY2ofL.gif)
### Switching back to Bloop
@@ -139,12 +138,13 @@ that have an html doctor, you can also reset your build server choice in the
Doctor.
### Doctor reset
+
![Doctor](https://i.imgur.com/YEGfEGB.png)
## Conclusion
We hope you enjoy this easier way to use sbt server with Metals. If you're
-curious about the implementation details, much of the work was done in [this
-pr](https://github.com/scalameta/metals/pull/2154). As always please don't
+curious about the implementation details, much of the work was done in
+[this pr](https://github.com/scalameta/metals/pull/2154). As always please don't
hesitate to ask questions on our various channels, submit issues, or create new
feature requests.
diff --git a/website/blog/2020-11-10-lithium.md b/website/blog/2020-11-10-lithium.md
index 92f0d6d7ed6..88214e36607 100644
--- a/website/blog/2020-11-10-lithium.md
+++ b/website/blog/2020-11-10-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.5 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.5, which brings about some of
@@ -204,8 +202,8 @@ When using sbt, remote debugging can be achieved by specifying additional
settings:
```scala
- javaOptions in run := List("-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"),
- fork in run := true
+javaOptions in run := List("-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"),
+fork in run := true
```
This will cause running `sbt run` to wait for Metals to connect to it, which
diff --git a/website/blog/2020-11-20-lithium.md b/website/blog/2020-11-20-lithium.md
index f0306075e01..84bd3e365c3 100644
--- a/website/blog/2020-11-20-lithium.md
+++ b/website/blog/2020-11-20-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.6 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.6, which mostly concentrates
@@ -75,8 +73,8 @@ changing any of those settings.
Previously, it was possible to navigate a stacktrace using the
`Analyze stacktrace` command which was added in the
-[v0.9.4](/metals/blog/2020/09/21/lithium#analyze-stacktrace-command)
-release. It turns out, we can reuse the same mechanism to show file links in the
+[v0.9.4](/metals/blog/2020/09/21/lithium#analyze-stacktrace-command) release. It
+turns out, we can reuse the same mechanism to show file links in the
`Debug Console` in Visual Studio code:
![navigate-stacktrace](https://i.imgur.com/qeitymN.gif)
@@ -88,8 +86,8 @@ clients.
## Troubleshooting
As an addition to these new features, we've also recently added a new
-[troubleshooting page](/metals/docs/troubleshooting/faq) that should answer
-the most basic questions you can have. As the page is fairly new we would appreciate
+[troubleshooting page](/metals/docs/troubleshooting/faq) that should answer the
+most basic questions you can have. As the page is fairly new we would appreciate
any help in improving it so let us know if you feel anything is missing.
## Miscellaneous
diff --git a/website/blog/2020-11-26-lithium.md b/website/blog/2020-11-26-lithium.md
index 064a8be5e90..00950c6e0a3 100644
--- a/website/blog/2020-11-26-lithium.md
+++ b/website/blog/2020-11-26-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.7 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.7, which introduces the
diff --git a/website/blog/2020-12-19-lithium.md b/website/blog/2020-12-19-lithium.md
index 9a5174a27f5..71b403a35b6 100644
--- a/website/blog/2020-12-19-lithium.md
+++ b/website/blog/2020-12-19-lithium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.8 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.8, which brings along a
diff --git a/website/blog/2021-01-19-lithium.md b/website/blog/2021-01-19-lithium.md
index b539d6b6612..7fef2328e39 100644
--- a/website/blog/2021-01-19-lithium.md
+++ b/website/blog/2021-01-19-lithium.md
@@ -1,13 +1,11 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.9.10 - Lithium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.9.10, which contains a number
-of fixes and more importantly support for Scala 2.12.13. We're skipping over
-the v0.9.9 release due to a significant bug that showed up after the release.
+of fixes and more importantly support for Scala 2.12.13. We're skipping over the
+v0.9.9 release due to a significant bug that showed up after the release.
@@ -75,8 +73,7 @@ Rikito Taniguchi
**Merged pull requests:**
-- Bump mdoc to 2.2.15
- [\#2409](https://github.com/scalameta/metals/pull/2409)
+- Bump mdoc to 2.2.15 [\#2409](https://github.com/scalameta/metals/pull/2409)
([tgodzik](https://github.com/tgodzik))
- Update Metals Scala 2.12 version to 2.12.13
[\#2404](https://github.com/scalameta/metals/pull/2404)
diff --git a/website/blog/2021-02-02-metals-retro-part1.md b/website/blog/2021-02-02-metals-retro-part1.md
index f3b48c63841..865dc58139b 100644
--- a/website/blog/2021-02-02-metals-retro-part1.md
+++ b/website/blog/2021-02-02-metals-retro-part1.md
@@ -1,8 +1,6 @@
---
-author: Chris Kipp
+authors: ckipp
title: A Metals Retrospective (Part 1)
-authorURL: https://twitter.com/ckipp01
-authorImageURL: https://avatars2.githubusercontent.com/u/13974112?v=4
---
![metals-banner](https://i.imgur.com/FYZXteD.png)
@@ -10,51 +8,52 @@ authorImageURL: https://avatars2.githubusercontent.com/u/13974112?v=4
At the end of 2020 the Metals team sent out a survey to gather input from our
users in hopes to get a better picture of who you are, what you want out of
Metals, and any other useful feedback you may have wanted to provide. With just
-under 400 responses we got a ton of great data, some interesting insights, and
-a nice picture of what is currently hindering users, and what common
-functionality continually comes up as feature requests. In order to best use this
-data, and also to share some results, we thought it'd be a good idea to go over
-some of the sections, address some of the points that came up, and also clear up
-any misconceptions that may have appeared in the survey results. The idea is for
+under 400 responses we got a ton of great data, some interesting insights, and a
+nice picture of what is currently hindering users, and what common functionality
+continually comes up as feature requests. In order to best use this data, and
+also to share some results, we thought it'd be a good idea to go over some of
+the sections, address some of the points that came up, and also clear up any
+misconceptions that may have appeared in the survey results. The idea is for
this to be a 2 part series. You can expect the following:
- Part 1 - Where we discuss some of the initial results and address some common
- misconceptions and questions.
+ misconceptions and questions.
- Part 2 - Where we go deeper into the desired features, the biggest pain
- points, and our plans for this next year.
+ points, and our plans for this next year.
## Editor Support
![editor-results](https://i.imgur.com/w67gMGW.png)
Surprising no one, VS Code came out on top for editors with the most desire for
-Metals support. Our [VS Code
-extension](https://github.com/scalameta/metals-vscode) has over 100k downloads
-and it is safe to say that it offers the best support for overall Metals usage.
-The next most popular of our extensions is probably `coc-metals` which had just
-over 20k downloads in 2020. There are certain features that do only work in VS
-Code mainly due to the robustness of the LSP support and other extra features.
-Here are a few examples of features that we added this past year that work
-extremely well with VS Code with no hardly no extra effort on the users part:
+Metals support. Our
+[VS Code extension](https://github.com/scalameta/metals-vscode) has over 100k
+downloads and it is safe to say that it offers the best support for overall
+Metals usage. The next most popular of our extensions is probably `coc-metals`
+which had just over 20k downloads in 2020. There are certain features that do
+only work in VS Code mainly due to the robustness of the LSP support and other
+extra features. Here are a few examples of features that we added this past year
+that work extremely well with VS Code with no hardly no extra effort on the
+users part:
- Debugging support - Early on in 2020 Metals v0.8.0 added debugging support.
- Now with the click of a button you can run, test, and debug your code right
- from inside VS Code.
+ Now with the click of a button you can run, test, and debug your code right
+ from inside VS Code.
- Preview renames - in Metals v0.8.1 functionality was added so that you can now
- preview the changes after triggering a rename for up to 300 files.
-- Analyze stacktrace functionality - As of Metals v0.9.4 Metals gained the ability
- to take a stack trace and give you a nice view of the entire stack with
- clickable links to go to that part of your code. This is all found in the
- very useful web view of VS Code.
+ preview the changes after triggering a rename for up to 300 files.
+- Analyze stacktrace functionality - As of Metals v0.9.4 Metals gained the
+ ability to take a stack trace and give you a nice view of the entire stack
+ with clickable links to go to that part of your code. This is all found in the
+ very useful web view of VS Code.
- Show implicits and type decorations - As of Metals v0.9.5 Metals gained the
- ability to show implicits and type decorations as decorations directly
- inline of your code.
+ ability to show implicits and type decorations as decorations directly inline
+ of your code.
- Show implicits conversion and classes - As of Metals v0.9.6 Metals gained the
- ability to show implicits conversion and classes as decorations directly
- inline of your code.
+ ability to show implicits conversion and classes as decorations directly
+ inline of your code.
- Navigativing stacktrace while debugging - Also in Metals v0.9.6 the ability to
- navigate stacktraces during a deubugging sesions was added, which re-used
- the functionality introduced in v0.9.4 to analyze stacktraces.
+ navigate stacktraces during a deubugging sesions was added, which re-used the
+ functionality introduced in v0.9.4 to analyze stacktraces.
Now at this point you may be starting to assume that we heavily favor VS Code
and that Metals is geared towards it. We got a few comments related to this
@@ -68,20 +67,20 @@ can also be utilized for editors that may not have the same level of support as
VS Code. Here are a few examples:
- Debugging support - Metals actually offers deubugging support for any client
- that can serve as a DAP client. So for example using `coc-metals` you can
- also run, test, and debug your code while utilizing
- [`vimspector`](https://github.com/puremourning/vimspector). The same is true
- for emacs clients that are utilizing
- [`lsp-mode`](https://github.com/emacs-lsp/lsp-mode).
+ that can serve as a DAP client. So for example using `coc-metals` you can also
+ run, test, and debug your code while utilizing
+ [`vimspector`](https://github.com/puremourning/vimspector). The same is true
+ for emacs clients that are utilizing
+ [`lsp-mode`](https://github.com/emacs-lsp/lsp-mode).
- Analyze stacktrace functionality - For clients that don't have a web view,
- this feature is still supported by producing a file with code lens' in it to
- allow you to navigate to the relevant parts of the stacktrace.
+ this feature is still supported by producing a file with code lens' in it to
+ allow you to navigate to the relevant parts of the stacktrace.
- Implicits, type decorations, implicits conversions and classes - VS Code isn't
- the only extension that actually implements this. There is also
- [`metals-sublime`](https://github.com/scalameta/metals-sublime) that has
- inline decorations. For other editors that may not support inline
- decorations, this feature is still re-usable and the information is actually
- displayed in hover as another section.
+ the only extension that actually implements this. There is also
+ [`metals-sublime`](https://github.com/scalameta/metals-sublime) that has
+ inline decorations. For other editors that may not support inline decorations,
+ this feature is still re-usable and the information is actually displayed in
+ hover as another section.
So again, while VS Code is an incredible editor, that offers incredible support
for the various Metals features, we work hard to ensure that these features are
@@ -105,16 +104,16 @@ Metals-specific extension! Here are links to the various Metals clients:
When asked about what editor people wished had Metals support, here were the
results:
-Editor | Votes
-------------------------------------------------------|----------
-[IntelliJ](https://www.jetbrains.com/idea/) | 19
-[Notepad++](http://notepad-plus-plus.org/) | 2
-[Gnome Builder](https://wiki.gnome.org/Apps/Builder) | 2
-[Nova](https://www.nova.app/) | 2
-[Kakoune](http://kakoune.org/) | 2
-[Netbeans](https://netbeans.org/) | 2
-[Eclipse Theia](https://theia-ide.org/) | 1
-[jEdit](http://www.jedit.org/) | 1
+| Editor | Votes |
+| ---------------------------------------------------- | ----- |
+| [IntelliJ](https://www.jetbrains.com/idea/) | 19 |
+| [Notepad++](http://notepad-plus-plus.org/) | 2 |
+| [Gnome Builder](https://wiki.gnome.org/Apps/Builder) | 2 |
+| [Nova](https://www.nova.app/) | 2 |
+| [Kakoune](http://kakoune.org/) | 2 |
+| [Netbeans](https://netbeans.org/) | 2 |
+| [Eclipse Theia](https://theia-ide.org/) | 1 |
+| [jEdit](http://www.jedit.org/) | 1 |
Some of these editors will already actually work with Metals, especially if they
support VS Code extensions like Eclipse Theia does. However, one question we
@@ -125,15 +124,15 @@ server for clients that implement LSP. Since IntelliJ has no _official_ support
for LSP, we have no intention on adding support for IntelliJ. Many times the
target audience is different as well.
-## Why do people start using Metals
+## Why do people start using Metals
-Reason | Very Important | Somewhat important | Not important
-----------------------------------------------|----------------|--------------------|---------------
-I wanted a lighter alternative to other IDEs. | 245 | 74 | 27
-I could use my favorite editor. | 223 | 62 | 56
-I wanted more accurate compiler errors. | 220 | 86 | 36
-I wanted a fully open source solution. | 133 | 138 | 69
-Metals had features other IDEs didn't | 56 | 112 | 160
+| Reason | Very Important | Somewhat important | Not important |
+| --------------------------------------------- | -------------- | ------------------ | ------------- |
+| I wanted a lighter alternative to other IDEs. | 245 | 74 | 27 |
+| I could use my favorite editor. | 223 | 62 | 56 |
+| I wanted more accurate compiler errors. | 220 | 86 | 36 |
+| I wanted a fully open source solution. | 133 | 138 | 69 |
+| Metals had features other IDEs didn't | 56 | 112 | 160 |
## Information and Help with Metals
@@ -147,8 +146,8 @@ where they get their news about Metals.
![metals help](https://i.imgur.com/2Qysoqe.png)
Apart from the places that we had listed in the survey, the place mentioned the
-most for where people hear about Metals related news was [Scala
-Times](https://scalatimes.com/)!
+most for where people hear about Metals related news was
+[Scala Times](https://scalatimes.com/)!
As a reminder, don't ever hesitate to reach out, and if anything is missing in
the docs, please lend a helping hand or point it out to us.
@@ -160,14 +159,14 @@ already supports, or has added support for since the survey! Hopefully these
will help highlight some lesser known features of Metals or serve as a reminder
of some of the features we have.
-Requested | Status
------------------------------------------------------|---------------------------
-Renaming symbols | Available since v0.8.0 and all supported editors support this.
-Better info about Ammonite scripts failing. | Actually because of this comment, there was some work done to improve the error messages about why Ammonite may not be starting. You can see this here [in this pr](https://github.com/scalameta/metals/pull/2333).
-A check telling me if everything is setup correctly. | We recently did some work or the Metals Doctor to help you see what issues are going on. You can trigger Doctor by the `run-doctor` command. It may differ a bit per client. You can see the recent changes made [here in this pr](https://github.com/scalameta/metals/pull/2339).
-Seamless install in Vim | There are two Metals-specific Vim and Neovim extensions, both which offer an automated install feature. [coc-metals](https://github.com/scalameta/coc-metals) and [nvim-metals](https://github.com/scalameta/nvim-metals).
-Navigating stacktrace feature in emacs. | This actually should work, since it just needs code lenses to work for clients that don't have a web view. Part of this is just documentation, so if you're an emacs user, please help us with docs!
-Use a specific version of Ammonite | You can currently do this by setting the version in a comment on the top of a file like illustrated [here](https://scalameta.org/metals/docs/troubleshooting/faq#how-do-i-use-scala-2xx-for-my-script). Also the next release of Metals will have better support for a fallback version of the compiler that is used for standalone scripts. This will give you more control over what version is used in situations like Ammonite scripts.
+| Requested | Status |
+| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Renaming symbols | Available since v0.8.0 and all supported editors support this. |
+| Better info about Ammonite scripts failing. | Actually because of this comment, there was some work done to improve the error messages about why Ammonite may not be starting. You can see this here [in this pr](https://github.com/scalameta/metals/pull/2333). |
+| A check telling me if everything is setup correctly. | We recently did some work or the Metals Doctor to help you see what issues are going on. You can trigger Doctor by the `run-doctor` command. It may differ a bit per client. You can see the recent changes made [here in this pr](https://github.com/scalameta/metals/pull/2339). |
+| Seamless install in Vim | There are two Metals-specific Vim and Neovim extensions, both which offer an automated install feature. [coc-metals](https://github.com/scalameta/coc-metals) and [nvim-metals](https://github.com/scalameta/nvim-metals). |
+| Navigating stacktrace feature in emacs. | This actually should work, since it just needs code lenses to work for clients that don't have a web view. Part of this is just documentation, so if you're an emacs user, please help us with docs! |
+| Use a specific version of Ammonite | You can currently do this by setting the version in a comment on the top of a file like illustrated [here](https://scalameta.org/metals/docs/troubleshooting/faq#how-do-i-use-scala-2xx-for-my-script). Also the next release of Metals will have better support for a fallback version of the compiler that is used for standalone scripts. This will give you more control over what version is used in situations like Ammonite scripts. |
## What's next?
diff --git a/website/blog/2021-02-24-tungsten.md b/website/blog/2021-02-24-tungsten.md
index 14eb8ae26e1..748e6fa3f7d 100644
--- a/website/blog/2021-02-24-tungsten.md
+++ b/website/blog/2021-02-24-tungsten.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.10.0 - Tungsten
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.10.0, which is the first
diff --git a/website/blog/2021-04-06-tungsten.md b/website/blog/2021-04-06-tungsten.md
index 966af482516..e47a7cbec6b 100644
--- a/website/blog/2021-04-06-tungsten.md
+++ b/website/blog/2021-04-06-tungsten.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.10.1 - Tungsten
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.10.1, which mainly concentrated
diff --git a/website/blog/2021-04-20-tungsten.md b/website/blog/2021-04-20-tungsten.md
index 183d20d9674..43d4c43f3b2 100644
--- a/website/blog/2021-04-20-tungsten.md
+++ b/website/blog/2021-04-20-tungsten.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.10.2 - Tungsten
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.10.2, which mainly adds support
@@ -74,9 +72,9 @@ completions that allow for a workflow with less manual steps.
- remove string interpolation if no splices are found
-When the cursor is positioned inside a string interpolation, that does not contain
-any splices ( `$identifier`), we will now offer an action to quickly get rid of
-the additional `s`.
+When the cursor is positioned inside a string interpolation, that does not
+contain any splices ( `$identifier`), we will now offer an action to quickly get
+rid of the additional `s`.
```scala
val message = s"Hello this is a message without splices"
diff --git a/website/blog/2021-05-17-tungsten.md b/website/blog/2021-05-17-tungsten.md
index 3bb1ddd465e..ebc83f5404d 100644
--- a/website/blog/2021-05-17-tungsten.md
+++ b/website/blog/2021-05-17-tungsten.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.10.3 - Tungsten
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.10.3, which brings support for
diff --git a/website/blog/2021-05-31-tungsten.md b/website/blog/2021-05-31-tungsten.md
index f571bbcc530..520aab68338 100644
--- a/website/blog/2021-05-31-tungsten.md
+++ b/website/blog/2021-05-31-tungsten.md
@@ -1,11 +1,10 @@
---
-author: Vadim Chelyshov
+authors: dos65
title: Metals v0.10.4 - Tungsten
-authorURL: https://twitter.com/_dos65
-authorImageURL: https://github.com/dos65.png
---
-We're happy to announce the release of Metals v0.10.4, which adds support for Scala 2.12.14.
+We're happy to announce the release of Metals v0.10.4, which adds support for
+Scala 2.12.14.
diff --git a/website/blog/2021-07-14-tungsten.md b/website/blog/2021-07-14-tungsten.md
index 01270822eb5..56164f12f51 100644
--- a/website/blog/2021-07-14-tungsten.md
+++ b/website/blog/2021-07-14-tungsten.md
@@ -1,12 +1,10 @@
---
-author: Vadim Chelyshov
+authors: dos65
title: Metals v0.10.5 - Tungsten
-authorURL: https://twitter.com/_dos65
-authorImageURL: https://github.com/dos65.png
---
-We're happy to announce the release of Metals v0.10.5, which contains a lot of fixes, adds Scala 3.0.1 support,
-and brings another nice feature!
+We're happy to announce the release of Metals v0.10.5, which contains a lot of
+fixes, adds Scala 3.0.1 support, and brings another nice feature!
@@ -53,8 +51,11 @@ give Metals a try!
## Add support for `textDocument/selectionRange`
-Due to the great work by [@ckipp01](https://github.com/ckipp01) Metals now implements the `textDocument/selectionRange` [LSP-method](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_selectionRange).
-It allows you to easily select an expression and expand/shrink it using shortcut combinations:
+Due to the great work by [@ckipp01](https://github.com/ckipp01) Metals now
+implements the `textDocument/selectionRange`
+[LSP-method](https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_selectionRange).
+It allows you to easily select an expression and expand/shrink it using shortcut
+combinations:
![gif1](https://user-images.githubusercontent.com/13974112/125335989-7a5f8780-e34d-11eb-911f-42f851478737.gif)
@@ -82,23 +83,32 @@ Default keybindings in VSCode:
## [Scala3] `Inferred Type` code action and other improvements
-We're hard at work ensuring that the same feature-set for Scala 2 is available for Scala 3.
-This release adds support for the `Insert Inferred Type` code action.
+We're hard at work ensuring that the same feature-set for Scala 2 is available
+for Scala 3. This release adds support for the `Insert Inferred Type` code
+action.
![gif2](https://i.imgur.com/GJGFOOy.gif)
-In addition to other small fixes, it's worth mentioning that the `Go to Definition` functionality was improved so that in situations where there are compilation issues, you're now able to better navigate to the definition site.
+In addition to other small fixes, it's worth mentioning that the
+`Go to Definition` functionality was improved so that in situations where there
+are compilation issues, you're now able to better navigate to the definition
+site.
## Better support of scalafmt for Scala 3 projects
-In order to support different Scala dialects scalafmt added a [`runner.dialect` setting](https://scalameta.org/scalafmt/docs/configuration.html#scala-3) to support Scala 3.
-Metals will now correctly generate and even automatically upgrade your `.scalafmt.conf`.
-Moreover, in projects that contain different Scala major versions Metals will set a separate dialect for each separate source directory.
+In order to support different Scala dialects scalafmt added a
+[`runner.dialect` setting](https://scalameta.org/scalafmt/docs/configuration.html#scala-3)
+to support Scala 3. Metals will now correctly generate and even automatically
+upgrade your `.scalafmt.conf`. Moreover, in projects that contain different
+Scala major versions Metals will set a separate dialect for each separate source
+directory.
## Search symbol references from dependency source in the workspace
-Thanks to [@Z1kkurat](https://github.com/Z1kkurat) "Find References" now also works from within your dependency sources to include references from all workspace sources.
-Previously, it included only local occurrences in the dependency source file.
+Thanks to [@Z1kkurat](https://github.com/Z1kkurat) "Find References" now also
+works from within your dependency sources to include references from all
+workspace sources. Previously, it included only local occurrences in the
+dependency source file.
![gif3](https://i.imgur.com/myHPDjP.gif)
@@ -155,8 +165,7 @@ $ git shortlog -sn --no-merges v0.10.4..v0.10.5
- [Scala 3] Properly show enum on hover
[\#2938](https://github.com/scalameta/metals/pull/2938)
([tgodzik](https://github.com/tgodzik))
-- Correct footer label
- [\#2939](https://github.com/scalameta/metals/pull/2939)
+- Correct footer label [\#2939](https://github.com/scalameta/metals/pull/2939)
([ckipp01](https://github.com/ckipp01))
- [Scala2] PcDefinition fix
[\#2917](https://github.com/scalameta/metals/pull/2917)
@@ -260,8 +269,7 @@ $ git shortlog -sn --no-merges v0.10.4..v0.10.5
- Update sbt-jmh to 0.4.3
[\#2887](https://github.com/scalameta/metals/pull/2887)
([scala-steward](https://github.com/scala-steward))
-- Update ujson to 1.4.0
- [\#2881](https://github.com/scalameta/metals/pull/2881)
+- Update ujson to 1.4.0 [\#2881](https://github.com/scalameta/metals/pull/2881)
([scala-steward](https://github.com/scala-steward))
- Bump sbt-debug-adapter to 1.1.2
[\#2872](https://github.com/scalameta/metals/pull/2872)
@@ -287,8 +295,8 @@ $ git shortlog -sn --no-merges v0.10.4..v0.10.5
- Enable organize imports for Scala 3
[\#2857](https://github.com/scalameta/metals/pull/2857)
([tgodzik](https://github.com/tgodzik))
-- [Scala3] Add test that checks that diagnostic for inline def usage works correctly
- [\#2854](https://github.com/scalameta/metals/pull/2854)
+- [Scala3] Add test that checks that diagnostic for inline def usage works
+ correctly [\#2854](https://github.com/scalameta/metals/pull/2854)
([dos65](https://github.com/dos65))
- Add support for Scala 3.0.1-RC1
[\#2852](https://github.com/scalameta/metals/pull/2852)
@@ -296,7 +304,7 @@ $ git shortlog -sn --no-merges v0.10.4..v0.10.5
- Bump olafurpg/setup-scala from 10 to 12
[\#2848](https://github.com/scalameta/metals/pull/2848)
([dependabot[bot]](https://github.com/dependabot[bot]))
-- ScalaVersions: fix scala3 version extraction from jar name.
+- ScalaVersions: fix scala3 version extraction from jar name.
[\#2833](https://github.com/scalameta/metals/pull/2833)
([dos65](https://github.com/dos65))
- Update amonite to 2.3.8-124-2da846d2 and add support for 2.13.6
@@ -305,8 +313,7 @@ $ git shortlog -sn --no-merges v0.10.4..v0.10.5
- Revert Bloop version upgrade
[\#2850](https://github.com/scalameta/metals/pull/2850)
([tgodzik](https://github.com/tgodzik))
-- Fix scalafmt config
- [\#2849](https://github.com/scalameta/metals/pull/2849)
+- Fix scalafmt config [\#2849](https://github.com/scalameta/metals/pull/2849)
([tgodzik](https://github.com/tgodzik))
- Update scalafmt-core to 3.0.0-RC4
[\#2845](https://github.com/scalameta/metals/pull/2845)
@@ -326,8 +333,7 @@ $ git shortlog -sn --no-merges v0.10.4..v0.10.5
- Update scribe, scribe-file, scribe-slf4j to 3.5.5
[\#2840](https://github.com/scalameta/metals/pull/2840)
([scala-steward](https://github.com/scala-steward))
-- Update ujson to 1.3.15
- [\#2839](https://github.com/scalameta/metals/pull/2839)
+- Update ujson to 1.3.15 [\#2839](https://github.com/scalameta/metals/pull/2839)
([scala-steward](https://github.com/scala-steward))
- Update mill-contrib-testng to 0.9.8
[\#2838](https://github.com/scalameta/metals/pull/2838)
diff --git a/website/blog/2021-09-06-tungsten.md b/website/blog/2021-09-06-tungsten.md
index 19a8e6a1725..1049ead404e 100644
--- a/website/blog/2021-09-06-tungsten.md
+++ b/website/blog/2021-09-06-tungsten.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.10.6 - Tungsten
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.10.6, which brings about new
diff --git a/website/blog/2021-09-16-tungsten.md b/website/blog/2021-09-16-tungsten.md
index ef1344c0c3f..acb4ba974e5 100644
--- a/website/blog/2021-09-16-tungsten.md
+++ b/website/blog/2021-09-16-tungsten.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.10.7 - Tungsten
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.10.7, which mostly focuses on
diff --git a/website/blog/2021-10-26-tungsten.md b/website/blog/2021-10-26-tungsten.md
index 7abbd60801a..2b1a2307b5b 100644
--- a/website/blog/2021-10-26-tungsten.md
+++ b/website/blog/2021-10-26-tungsten.md
@@ -1,11 +1,10 @@
---
-author: Vadim Chelyshov
+authors: dos65
title: Metals v0.10.8 - Tungsten
-authorURL: https://twitter.com/_dos65
-authorImageURL: https://github.com/dos65.png
---
-We're happy to announce the release of Metals v0.10.8, which brings a lot of new features in addition to Scala 3.1.0 support!
+We're happy to announce the release of Metals v0.10.8, which brings a lot of new
+features in addition to Scala 3.1.0 support!
@@ -46,7 +45,7 @@ Check out [https://scalameta.org/metals/](https://scalameta.org/metals/), and
give Metals a try!
- Expression evaluator for Scala 2
-- [Scala 2] Type annotations on code selection
+- [Scala 2] Type annotations on code selection
- Source file analyzer
- Find text in dependency JAR files
- VSCode - workspace symbol search fix
@@ -54,15 +53,21 @@ give Metals a try!
## Expression Evaluator
-The long awaited [issue #3051](https://github.com/scalameta/metals/issues/3051) was close to celebrating its 2 years birthday but
-due to the impressive work by [@tdudzik](https://github.com/tdudzik) and help from [@adapi](https://github.com/adpi2) and
-[@tgodzik](https://github.com/tgodzik) Metals
-finally has support for expression evaluation during debugging!
-The implementation is based on the initial idea from [@smarter](https://github.com/smarter)'s for expression evaluation in the Dotty Language Server.
+The long awaited [issue #3051](https://github.com/scalameta/metals/issues/3051)
+was close to celebrating its 2 years birthday but due to the impressive work by
+[@tdudzik](https://github.com/tdudzik) and help from
+[@adapi](https://github.com/adpi2) and [@tgodzik](https://github.com/tgodzik)
+Metals finally has support for expression evaluation during debugging! The
+implementation is based on the initial idea from
+[@smarter](https://github.com/smarter)'s for expression evaluation in the Dotty
+Language Server.
-Currently, it's implemented only for Scala 2, however the work on Scala3 support is in progress.
+Currently, it's implemented only for Scala 2, however the work on Scala3 support
+is in progress.
-Since expression evaluation is a complex feature there might still be some bugs that we didn't account for, so do not hesitate to report anything that doesn't look right.
+Since expression evaluation is a complex feature there might still be some bugs
+that we didn't account for, so do not hesitate to report anything that doesn't
+look right.
![evaluator](https://i.imgur.com/1b17Vtm.gif)
@@ -70,8 +75,11 @@ _Editors support_: every client that implements DAP
## Type annotations on code selection
-Thanks to [@KacperFKorban](https://github.com/KacperFKorban), yet another long awaited [issue #3059](https://github.com/scalameta/metals/issues/3059) was closed.
-Previously, hover in Metals was limited by the LSP protocol and only worked for a single position, however it turns out that it was possible to work around this limitation.
+Thanks to [@KacperFKorban](https://github.com/KacperFKorban), yet another long
+awaited [issue #3059](https://github.com/scalameta/metals/issues/3059) was
+closed. Previously, hover in Metals was limited by the LSP protocol and only
+worked for a single position, however it turns out that it was possible to work
+around this limitation.
![selection](https://user-images.githubusercontent.com/39772805/130333128-dc357170-116e-4a10-b58d-b55c536a2e15.gif)
@@ -79,12 +87,14 @@ _Editors support_: VS Code, nvim-metals
## Source file analyzer
-The `Show Tasty command` from the previous release was extended.
-Now, Metals also can show javap and semanticdb outputs from the source.
-Thanks [@Arthurm1](https://github.com/Arthurm1) for javap/semanticdb implementation and
-[@kpodsiad](https://github.com/kpodsiad) for aligning all views into a single feature.
+The `Show Tasty command` from the previous release was extended. Now, Metals
+also can show javap and semanticdb outputs from the source. Thanks
+[@Arthurm1](https://github.com/Arthurm1) for javap/semanticdb implementation and
+[@kpodsiad](https://github.com/kpodsiad) for aligning all views into a single
+feature.
The full list of commands:
+
- `metals.show-tasty`
- `metals.show-javap`
- `metals.show-javap-verbose`
@@ -92,7 +102,8 @@ The full list of commands:
- `metals.show-semanticdb-detailed`
- `metals.show-semanticdb-proto`
-In VS Code you can notice that there is a new `Metals Analyze Source` submenu in file pop-up menu that provides a list of all these commands.
+In VS Code you can notice that there is a new `Metals Analyze Source` submenu in
+file pop-up menu that provides a list of all these commands.
![analyze](https://i.imgur.com/6tGSvuI.gif)
@@ -100,8 +111,9 @@ _Editors support_: VS Code, nvim-metals
## Find text in dependency JAR files
-This release also introduces another helpful feature, it's possible now to do text search through files in classpath jars and source-jars.
-Thanks to [@ Z1kkurat](https://github.com/Z1kkurat) for his contribution!
+This release also introduces another helpful feature, it's possible now to do
+text search through files in classpath jars and source-jars. Thanks to
+[@ Z1kkurat](https://github.com/Z1kkurat) for his contribution!
![find-in-jars](https://i.imgur.com/o1Drd12.gif)
@@ -109,35 +121,53 @@ _Editors support_: VS Code, nvim-metals
## VSCode extension - workspace symbol search fix
-Initially, workspace symbol search in Metals allowed you to extend the search in a couple of ways:
-- It was possible to look through all the dependencies by adding the semicolon `;` at the end or to search. This was done by default if no results were found in the current workspace.
+Initially, workspace symbol search in Metals allowed you to extend the search in
+a couple of ways:
-- Users could use the full path for symbols such as `j.n.f.Path` for `java.nio.file.Path` .
+- It was possible to look through all the dependencies by adding the semicolon
+ `;` at the end or to search. This was done by default if no results were found
+ in the current workspace.
-Unfortunately, this stopped being possible in some later Visual Studio Code versions. To work around that issue a new command was added: `metals.symbol-search`, which allows for the additional search features. This already works for all other editors.
-In addition, Metals extension now overrides default keybing for symbol search: `Ctrl+T`/`Cmd+T` executes this Metals command.
+- Users could use the full path for symbols such as `j.n.f.Path` for
+ `java.nio.file.Path` .
-An important notice: we can't fix the default workspace symbol search. It still uses default VS Code implementation.
+Unfortunately, this stopped being possible in some later Visual Studio Code
+versions. To work around that issue a new command was added:
+`metals.symbol-search`, which allows for the additional search features. This
+already works for all other editors. In addition, Metals extension now overrides
+default keybing for symbol search: `Ctrl+T`/`Cmd+T` executes this Metals
+command.
-![symbol-search](https://user-images.githubusercontent.com/5816952/133675550-c199e79a-55cc-4df6-871d-c8a3b1f0b3a3.gif)
+An important notice: we can't fix the default workspace symbol search. It still
+uses default VS Code implementation.
+![symbol-search](https://user-images.githubusercontent.com/5816952/133675550-c199e79a-55cc-4df6-871d-c8a3b1f0b3a3.gif)
## Scala 3.1.0 and completion improvements
-And lastly this new Metals release comes with a new compiler version support - 3.1.0. As well as support for the next release candidate `3.1.1-RC1`, which will be later updated in the SNAPSHOT Metals versions in case of further release candidates.
-We also further improved the support for Scala 3:
-- Completion items ordering were reworked and now it should match the behaviour of Scala 2
+And lastly this new Metals release comes with a new compiler version support -
+3.1.0. As well as support for the next release candidate `3.1.1-RC1`, which will
+be later updated in the SNAPSHOT Metals versions in case of further release
+candidates. We also further improved the support for Scala 3:
+
+- Completion items ordering were reworked and now it should match the behaviour
+ of Scala 2
- Type descriptions in completion now shows the precise type for generic methods
## Miscellaneous
-- Fix type decorations for sbt/standalone files [@tgodzik](https://github.com/tgodzik)
+- Fix type decorations for sbt/standalone files
+ [@tgodzik](https://github.com/tgodzik)
- Use Scala 3 syntax by default. [@smarter](https://github.com/smarter)
-- Support more scenarios in rewrite parent/braces code action. [@kpodsiad](https://github.com/kpodsiad)
-- Fix go to parent code lenses for local symbols. [tgodzik](https://github.com/tgodzik)
+- Support more scenarios in rewrite parent/braces code action.
+ [@kpodsiad](https://github.com/kpodsiad)
+- Fix go to parent code lenses for local symbols.
+ [tgodzik](https://github.com/tgodzik)
- Strip out [info] for stacktraces. [ckipp01](https://github.com/ckipp01)
-- [sbt server] Fix meta-build-target configuration. [adpi2](https://github.com/adpi2)
-- Add build server version to the doctor view. [kpodsiad](https://github.com/kpodsiad)
+- [sbt server] Fix meta-build-target configuration.
+ [adpi2](https://github.com/adpi2)
+- Add build server version to the doctor view.
+ [kpodsiad](https://github.com/kpodsiad)
## Contributors
@@ -186,11 +216,9 @@ $ git shortlog -sn --no-merges v0.10.7..v0.10.8
- Add Scala 3.1.0 support
[\#3212](https://github.com/scalameta/metals/pull/3212)
([dos65](https://github.com/dos65))
-- Update Bloop to 1.4.10
- [\#3218](https://github.com/scalameta/metals/pull/3218)
+- Update Bloop to 1.4.10 [\#3218](https://github.com/scalameta/metals/pull/3218)
([tgodzik](https://github.com/tgodzik))
-- Bump debug adapter
- [\#3216](https://github.com/scalameta/metals/pull/3216)
+- Bump debug adapter [\#3216](https://github.com/scalameta/metals/pull/3216)
([adpi2](https://github.com/adpi2))
- [Scala3] Completions - show applied type for `Select`
[\#3188](https://github.com/scalameta/metals/pull/3188)
@@ -219,8 +247,7 @@ $ git shortlog -sn --no-merges v0.10.7..v0.10.8
- Update flyway-core to 8.0.1
[\#3206](https://github.com/scalameta/metals/pull/3206)
([scala-steward](https://github.com/scala-steward))
-- Update ujson to 1.4.2
- [\#3204](https://github.com/scalameta/metals/pull/3204)
+- Update ujson to 1.4.2 [\#3204](https://github.com/scalameta/metals/pull/3204)
([scala-steward](https://github.com/scala-steward))
- Update sbt-debug-adapter to 2.0.5
[\#3203](https://github.com/scalameta/metals/pull/3203)
@@ -237,8 +264,7 @@ $ git shortlog -sn --no-merges v0.10.7..v0.10.8
- [sbt server] Fix meta-build-target configuration
[\#3194](https://github.com/scalameta/metals/pull/3194)
([adpi2](https://github.com/adpi2))
-- Decode file refactor
- [\#3160](https://github.com/scalameta/metals/pull/3160)
+- Decode file refactor [\#3160](https://github.com/scalameta/metals/pull/3160)
([kpodsiad](https://github.com/kpodsiad))
- Don't use `window/showMessage` to report generic Scalafix error
[\#3192](https://github.com/scalameta/metals/pull/3192)
@@ -252,7 +278,7 @@ $ git shortlog -sn --no-merges v0.10.7..v0.10.8
- Don't throw an exception is compiling semanticdb times out
[\#3187](https://github.com/scalameta/metals/pull/3187)
([tgodzik](https://github.com/tgodzik))
-- Wait for build tool information when generating semanticdb
+- Wait for build tool information when generating semanticdb
[\#3184](https://github.com/scalameta/metals/pull/3184)
([tgodzik](https://github.com/tgodzik))
- Bump bloop to fix some debug issues
@@ -267,8 +293,8 @@ $ git shortlog -sn --no-merges v0.10.7..v0.10.8
- Don't create file system when debugging
[\#3183](https://github.com/scalameta/metals/pull/3183)
([tgodzik](https://github.com/tgodzik))
-- Remove extra boolean from the `goto-position` server command in `StacktraceAnalyzer`
- [\#3179](https://github.com/scalameta/metals/pull/3179)
+- Remove extra boolean from the `goto-position` server command in
+ `StacktraceAnalyzer` [\#3179](https://github.com/scalameta/metals/pull/3179)
([ckipp01](https://github.com/ckipp01))
- Upgrade scala3 rc version
[\#3182](https://github.com/scalameta/metals/pull/3182)
@@ -285,14 +311,12 @@ $ git shortlog -sn --no-merges v0.10.7..v0.10.8
- Update scala-java8-compat to 1.0.1
[\#3175](https://github.com/scalameta/metals/pull/3175)
([scala-steward](https://github.com/scala-steward))
-- Try to fix flaky tests
- [\#3163](https://github.com/scalameta/metals/pull/3163)
+- Try to fix flaky tests [\#3163](https://github.com/scalameta/metals/pull/3163)
([tgodzik](https://github.com/tgodzik))
- Update scalafmt-dynamic to 3.0.5
[\#3177](https://github.com/scalameta/metals/pull/3177)
([scala-steward](https://github.com/scala-steward))
-- Update jsoup to 1.14.3
- [\#3174](https://github.com/scalameta/metals/pull/3174)
+- Update jsoup to 1.14.3 [\#3174](https://github.com/scalameta/metals/pull/3174)
([scala-steward](https://github.com/scala-steward))
- Update flyway-core to 7.15.0
[\#3173](https://github.com/scalameta/metals/pull/3173)
@@ -372,8 +396,7 @@ $ git shortlog -sn --no-merges v0.10.7..v0.10.8
- Set the default fallbackScalaVersion to scala 3 instead of 2.12
[\#3134](https://github.com/scalameta/metals/pull/3134)
([smarter](https://github.com/smarter))
-- Bump Scalafmt version
- [\#3137](https://github.com/scalameta/metals/pull/3137)
+- Bump Scalafmt version [\#3137](https://github.com/scalameta/metals/pull/3137)
([gabro](https://github.com/gabro))
- Add release notes for Metals v0.10.7
[\#3132](https://github.com/scalameta/metals/pull/3132)
diff --git a/website/blog/2021-11-03-tungsten.md b/website/blog/2021-11-03-tungsten.md
index b88fd7e588d..68ff39f1c60 100644
--- a/website/blog/2021-11-03-tungsten.md
+++ b/website/blog/2021-11-03-tungsten.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.10.9 - Tungsten
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.10.9, which mostly important
diff --git a/website/blog/2022-01-12-aluminium.md b/website/blog/2022-01-12-aluminium.md
index 08f6a395457..88d81595afa 100644
--- a/website/blog/2022-01-12-aluminium.md
+++ b/website/blog/2022-01-12-aluminium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.11.0 - Aluminium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.11.0! Due to the number of
@@ -351,8 +349,7 @@ Thomas Lopatic
**Merged pull requests:**
-- Update Bloop to 1.4.12
- [\#3497](https://github.com/scalameta/metals/pull/3497)
+- Update Bloop to 1.4.12 [\#3497](https://github.com/scalameta/metals/pull/3497)
([tgodzik](https://github.com/tgodzik))
- Fix issues with renames in Java files
[\#3495](https://github.com/scalameta/metals/pull/3495)
diff --git a/website/blog/2022-01-17-aluminium.md b/website/blog/2022-01-17-aluminium.md
index 21a6f3e49d6..2d0eb4404bd 100644
--- a/website/blog/2022-01-17-aluminium.md
+++ b/website/blog/2022-01-17-aluminium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.11.1 - Aluminium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
Metals v0.11.1 is a bugfix release needed to fix a couple of performance
@@ -55,7 +53,8 @@ give Metals a try!
- Fix performance in large files. [tgodzik](https://github.com/tgodzik)
- fix user config for java formatting. [Arthurm1](https://github.com/Arthurm1)
- Call javap with `-private` flag. [durban](https://github.com/durban)
-- Fix issues when using Metals analyze with inner classes. [durban](https://github.com/durban)
+- Fix issues when using Metals analyze with inner classes.
+ [durban](https://github.com/durban)
## Contributors
diff --git a/website/blog/2022-02-23-towards-better-releases.md b/website/blog/2022-02-23-towards-better-releases.md
index 1760b6297e2..040dc32f13f 100644
--- a/website/blog/2022-02-23-towards-better-releases.md
+++ b/website/blog/2022-02-23-towards-better-releases.md
@@ -1,55 +1,77 @@
---
-author: Vadim Chelyshov
+authors: dos65
title: Towards better releases
-authorURL: https://twitter.com/_dos65
-authorImageURL: https://github.com/dos65.png
---
-As many of you might have noticed, the previous `0.11.0` release didn't go smoothly due to a number of issues that came to light only after the release was published.
-Some of them were quite critical and the only option to continue to work was to downgrade Metals until `0.11.1` arrived.
+As many of you might have noticed, the previous `0.11.0` release didn't go
+smoothly due to a number of issues that came to light only after the release was
+published. Some of them were quite critical and the only option to continue to
+work was to downgrade Metals until `0.11.1` arrived.
We apologize for that!
-However, this post is not only about saying sorry.
-In order to avoid such situations in the future we have taken it upon ourselves to take steps that will allow us to detect issues earlier.
+However, this post is not only about saying sorry. In order to avoid such
+situations in the future we have taken it upon ourselves to take steps that will
+allow us to detect issues earlier.
There were two main improvements that were implemented since the last release:
+
- Decouple Metals releases from Scala releases
- Pre-release version for VSCode extension
## Decouple Metals releases from Scala releases
-We haven't mentioned this in the release notes for `0.11.0`, but since that version we have changed the way Metals detects whether a specific version is supported and thanks to that we are now able to backpublish new Scala versions support.
-The support of Scala `3.1.1` Scala was added to Metals `0.11.1` using this new mechanism.
-It allows us to provide new Scala version support much faster than before and also support Scala3-NIGTHTLY versions.
+We haven't mentioned this in the release notes for `0.11.0`, but since that
+version we have changed the way Metals detects whether a specific version is
+supported and thanks to that we are now able to backpublish new Scala versions
+support. The support of Scala `3.1.1` Scala was added to Metals `0.11.1` using
+this new mechanism. It allows us to provide new Scala version support much
+faster than before and also support Scala3-NIGTHTLY versions.
-The additional benefit from this approach is that it eliminates time pressure for future Metals releases.
-If you look at the release notes for previous versions, almost every one brings at least one new compiler version support.
-Having this limitation and the need to provide the new release as soon as possible always increases the chances of something affecting the release. So, now with this new feature we are able to take our time for final fixes and do releases with more confidence.
+The additional benefit from this approach is that it eliminates time pressure
+for future Metals releases. If you look at the release notes for previous
+versions, almost every one brings at least one new compiler version support.
+Having this limitation and the need to provide the new release as soon as
+possible always increases the chances of something affecting the release. So,
+now with this new feature we are able to take our time for final fixes and do
+releases with more confidence.
The current state for Scala versions support is:
-- Every Metals release comes with support to all known supported Scala versions + last 5 latest Scala3-NIGHTLY versions.
- This is applied to SNAPSHOT releases too.
-- In case a new Scala version appear, the latest Metals release will receive its support automatically.
- For example, the next Scala `3.1.2` will be supported only by the latest Metals `0.11.1` but not by `0.11.0`.
- That works for Scala3-NIGHTLY versions too. Metals has a scheduled daily job that publishes artifacts for newly discovered NIGHTLY versions.
+- Every Metals release comes with support to all known supported Scala
+ versions + last 5 latest Scala3-NIGHTLY versions. This is applied to SNAPSHOT
+ releases too.
+- In case a new Scala version appear, the latest Metals release will receive its
+ support automatically. For example, the next Scala `3.1.2` will be supported
+ only by the latest Metals `0.11.1` but not by `0.11.0`. That works for
+ Scala3-NIGHTLY versions too. Metals has a scheduled daily job that publishes
+ artifacts for newly discovered NIGHTLY versions.
## Pre-release version for VSCode extension
-Another great feature that was added was the possibility to use the `pre-release` versions of the Metals extension.
-If you open the Metals extension page, you will find a `Switch to Pre-release version` button.
-This version is like a snapshot, it's published for every change in the [scalameta/metals-vscode](https://github.com/scalameta/metals-vscode) repository.
+Another great feature that was added was the possibility to use the
+`pre-release` versions of the Metals extension. If you open the Metals extension
+page, you will find a `Switch to Pre-release version` button. This version is
+like a snapshot, it's published for every change in the
+[scalameta/metals-vscode](https://github.com/scalameta/metals-vscode)
+repository.
-It allows to test not yet released features, as well as to check if everything works fine for your workspace using the latest main branch.
-Some issues might be observed only under the particular version of the client as was the case with the ill fated 0.11.0 release.
+It allows to test not yet released features, as well as to check if everything
+works fine for your workspace using the latest main branch. Some issues might be
+observed only under the particular version of the client as was the case with
+the ill fated 0.11.0 release.
-Also, there is a new setting `Metals: Suggest Latest Upgrade` that is enabled by default for `pre-release`.
-If you have it enabled, you will receive notifications with an option to upgrade Metals server version to the latest snapshot once a day.
+Also, there is a new setting `Metals: Suggest Latest Upgrade` that is enabled by
+default for `pre-release`. If you have it enabled, you will receive
+notifications with an option to upgrade Metals server version to the latest
+snapshot once a day.
-We hope that some brave users will start using this `pre-release` version and report issues if you encounter any.
-This will help us spot problems earlier.
+We hope that some brave users will start using this `pre-release` version and
+report issues if you encounter any. This will help us spot problems earlier.
-_Notice_:
-Using pre-release versions may result in a less stable experience.
-In case of issues, if you are switching back from `pre-release` to `release` you also need to downgrade `Metals: Server Version` manually. The actual version might be found at [docs page](https://scalameta.org/metals/docs/#latest-metals-server-versions) or [latest.json](https://scalameta.org/metals/latests.json)
+_Notice_: Using pre-release versions may result in a less stable experience. In
+case of issues, if you are switching back from `pre-release` to `release` you
+also need to downgrade `Metals: Server Version` manually. The actual version
+might be found at
+[docs page](https://scalameta.org/metals/docs/#latest-metals-server-versions) or
+[latest.json](https://scalameta.org/metals/latests.json)
diff --git a/website/blog/2022-03-08-aluminium.md b/website/blog/2022-03-08-aluminium.md
index 829fb188a78..ea14ecbf996 100644
--- a/website/blog/2022-03-08-aluminium.md
+++ b/website/blog/2022-03-08-aluminium.md
@@ -1,11 +1,10 @@
---
-author: Kamil Podsiadlo
+authors: kpodsiad
title: Metals v0.11.2 - Aluminium
-authorURL: https://twitter.com/podsiadel
-authorImageURL: https://github.com/kpodsiad.png
---
-We're happy to announce the release of Metals v0.11.2, which focuses on improving overall user experience.
+We're happy to announce the release of Metals v0.11.2, which focuses on
+improving overall user experience.
@@ -36,10 +35,9 @@ We're happy to announce the release of Metals v0.11.2, which focuses on improvin
For full details: https://github.com/scalameta/metals/milestone/?closed=1
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
@@ -54,23 +52,32 @@ give Metals a try!
## Reduce indexing time in monorepos on MacOS
-Thanks to changes made by [Duhemm](https://github.com/Duhemm), Metals on MacOS can now index monorepo workspaces much faster than before. After changes, we observed at times **over 10 times faster** indexing times in the workspaces where only a few submodules needed to be imported.
+Thanks to changes made by [Duhemm](https://github.com/Duhemm), Metals on MacOS
+can now index monorepo workspaces much faster than before. After changes, we
+observed at times **over 10 times faster** indexing times in the workspaces
+where only a few submodules needed to be imported.
-Here are a few examples of indexing improvement. They are not actual benchmarks of any kind, but more of rough estimations of improvements in a couple of example repos.
+Here are a few examples of indexing improvement. They are not actual benchmarks
+of any kind, but more of rough estimations of improvements in a couple of
+example repos.
| Before | After |
| ----------- | ---------- |
| \>10minutes | ~30seconds |
| ~40seconds | ~4s |
-However, take into mind that indexing speedup heavily depends on your repository structure. The more imported modules which don't need to be imported, the greater the speed improvement is.
+However, take into mind that indexing speedup heavily depends on your repository
+structure. The more imported modules which don't need to be imported, the
+greater the speed improvement is.
-If you are interested in details you can check out the related [pull request](https://github.com/scalameta/metals/pull/3665).
+If you are interested in details you can check out the related
+[pull request](https://github.com/scalameta/metals/pull/3665).
## Display build target info
-Thanks to the [Arthurm1](https://github.com/Arthurm1) Metals is now able to display all important information about modules.
-This brand new feature gathers in one view information such as:
+Thanks to the [Arthurm1](https://github.com/Arthurm1) Metals is now able to
+display all important information about modules. This brand new feature gathers
+in one view information such as:
- javac and scalac options
- dependent modules
@@ -81,10 +88,16 @@ This brand new feature gathers in one view information such as:
## [vscode] View source jar files as virtual docs
-Previously, when the client wanted to browse files in source jars source, these files were extracted and saved in the `metals/readonly/dependencies` directory. With the help of [virtual documents](https://code.visualstudio.com/api/extension-guides/virtual-documents) Metals can show you dependencies in readonly files without unnecessary copying.
+Previously, when the client wanted to browse files in source jars source, these
+files were extracted and saved in the `metals/readonly/dependencies` directory.
+With the help of
+[virtual documents](https://code.visualstudio.com/api/extension-guides/virtual-documents)
+Metals can show you dependencies in readonly files without unnecessary copying.
Thanks [Arthurm1](https://github.com/Arthurm1) for this feature!
-Together with Metals tab, this feature could be used to browse through your dependencies' sources. Just run the `Metals: Reveal Active File in Side Bar` command and browse through both dependencies and source code seamlessly.
+Together with Metals tab, this feature could be used to browse through your
+dependencies' sources. Just run the `Metals: Reveal Active File in Side Bar`
+command and browse through both dependencies and source code seamlessly.
![virtual-docs-navigation](https://imgur.com/HsuW8Hn.gif)
@@ -92,10 +105,14 @@ Currently, `Metals: Reveal Active File in Side Bar` works only for Scala 2.
## Improve completions for Scala 3
-Completion suggestions for different Scala keywords now work with most of the Scala 3 keywords. This includes for example `given` and `enum`, it should also work even if defining things in toplevel without a wrapping class or object.
+Completion suggestions for different Scala keywords now work with most of the
+Scala 3 keywords. This includes for example `given` and `enum`, it should also
+work even if defining things in toplevel without a wrapping class or object.
![keyword-completions](https://i.imgur.com/4BUxCDK.gif)
-Another improvement for Scala 3 completions is better support for showing scope completions, when writing in an empty line. Previously, we would not show correct completions when no identifier was specified.
+Another improvement for Scala 3 completions is better support for showing scope
+completions, when writing in an empty line. Previously, we would not show
+correct completions when no identifier was specified.
```scala
object Foo:
@@ -106,26 +123,34 @@ object Foo:
@@
```
-In the above situation with cursor position indicated by `@@` we will now properly show `bar` and `baz` completions.
+In the above situation with cursor position indicated by `@@` we will now
+properly show `bar` and `baz` completions.
## [Test Explorer] Detect and run single tests for JUnit4
-We're actively working on improving the Test Explorer and making it better with each release.
-From this release, Metals is able to run or debug single test in JUnit4.
+We're actively working on improving the Test Explorer and making it better with
+each release. From this release, Metals is able to run or debug single test in
+JUnit4.
-Currently, this feature **only works when using Bloop as your build server**, but in a future release there will be support added for sbt as well.
+Currently, this feature **only works when using Bloop as your build server**,
+but in a future release there will be support added for sbt as well.
![test-explorer-single-tests](https://imgur.com/FbgSTGr.gif)
## [vscode] Add mirror setting to help coursier set up
-In order to bootstrap Metals, vscode's extension uses the coursier script which needs access to `repo1.maven.org`. Previously, this URL couldn't be configured which was causing problems on the machines that didn't have access to repo1.maven.org.
+In order to bootstrap Metals, vscode's extension uses the coursier script which
+needs access to `repo1.maven.org`. Previously, this URL couldn't be configured
+which was causing problems on the machines that didn't have access to
+repo1.maven.org.
-Thanks to [tgodzik](https://github.com/tgodzik)'s work from now on it's possible to define `metals.coursierMirror` property.
+Thanks to [tgodzik](https://github.com/tgodzik)'s work from now on it's possible
+to define `metals.coursierMirror` property.
![coursier-mirror](https://imgur.com/iLB079M.png)
-More information about mirrors can be found at [coursier documentation](https://get-coursier.io/blog/#mirrors).
+More information about mirrors can be found at
+[coursier documentation](https://get-coursier.io/blog/#mirrors).
## Miscellaneous
@@ -178,8 +203,7 @@ $ git shortlog -sn --no-merges v0.11.1..v0.11.2
- fix: Add test case for topelevel tuple hover
[\#3676](https://github.com/scalameta/metals/pull/3676)
([tgodzik](https://github.com/tgodzik))
-- Scala3 PC refactorings
- [\#3651](https://github.com/scalameta/metals/pull/3651)
+- Scala3 PC refactorings [\#3651](https://github.com/scalameta/metals/pull/3651)
([dos65](https://github.com/dos65))
- fix: Add tests for Scala 3 toplevel enums
[\#3674](https://github.com/scalameta/metals/pull/3674)
@@ -211,14 +235,13 @@ $ git shortlog -sn --no-merges v0.11.1..v0.11.2
- Change hashing to lastModified
[\#3611](https://github.com/scalameta/metals/pull/3611)
([tgodzik](https://github.com/tgodzik))
-- Update Bloop to 1.4.13
- [\#3664](https://github.com/scalameta/metals/pull/3664)
+- Update Bloop to 1.4.13 [\#3664](https://github.com/scalameta/metals/pull/3664)
([tgodzik](https://github.com/tgodzik))
- Fix issues with nightlies tests
[\#3663](https://github.com/scalameta/metals/pull/3663)
([tgodzik](https://github.com/tgodzik))
-- fix: do not show test explorer related error for client which don't implement it
- [\#3661](https://github.com/scalameta/metals/pull/3661)
+- fix: do not show test explorer related error for client which don't implement
+ it [\#3661](https://github.com/scalameta/metals/pull/3661)
([kpodsiad](https://github.com/kpodsiad))
- Add current env variables to bloopInstall
[\#3662](https://github.com/scalameta/metals/pull/3662)
@@ -253,8 +276,7 @@ $ git shortlog -sn --no-merges v0.11.1..v0.11.2
- Scala3 emptyline completions
[\#3629](https://github.com/scalameta/metals/pull/3629)
([dos65](https://github.com/dos65))
-- Update millw to 0.4.2
- [\#3641](https://github.com/scalameta/metals/pull/3641)
+- Update millw to 0.4.2 [\#3641](https://github.com/scalameta/metals/pull/3641)
([tgodzik](https://github.com/tgodzik))
- fix: actions, discover new scala3 nigtly properly
[\#3640](https://github.com/scalameta/metals/pull/3640)
@@ -358,11 +380,9 @@ $ git shortlog -sn --no-merges v0.11.1..v0.11.2
- Update flyway-core to 8.4.3
[\#3590](https://github.com/scalameta/metals/pull/3590)
([scala-steward](https://github.com/scala-steward))
-- Update ujson to 1.5.0
- [\#3588](https://github.com/scalameta/metals/pull/3588)
+- Update ujson to 1.5.0 [\#3588](https://github.com/scalameta/metals/pull/3588)
([scala-steward](https://github.com/scala-steward))
-- Update geny to 0.7.1
- [\#3587](https://github.com/scalameta/metals/pull/3587)
+- Update geny to 0.7.1 [\#3587](https://github.com/scalameta/metals/pull/3587)
([scala-steward](https://github.com/scala-steward))
- Update metaconfig-core to 0.10.0
[\#3585](https://github.com/scalameta/metals/pull/3585)
@@ -385,8 +405,7 @@ $ git shortlog -sn --no-merges v0.11.1..v0.11.2
- Pass -Xsource:3 to scalafix organize-imports action if present
[\#3574](https://github.com/scalameta/metals/pull/3574)
([hugo-vrijswijk](https://github.com/hugo-vrijswijk))
-- Insert missing comma
- [\#3573](https://github.com/scalameta/metals/pull/3573)
+- Insert missing comma [\#3573](https://github.com/scalameta/metals/pull/3573)
([ossScharom](https://github.com/ossScharom))
- cleanup: remove unused stuff from CompilerInterfaces
[\#3572](https://github.com/scalameta/metals/pull/3572)
diff --git a/website/blog/2022-04-26-aluminium.md b/website/blog/2022-04-26-aluminium.md
index ec268d1e939..7effcf4a5ca 100644
--- a/website/blog/2022-04-26-aluminium.md
+++ b/website/blog/2022-04-26-aluminium.md
@@ -1,8 +1,6 @@
---
-author: Kamil Podsiadlo
+authors: kpodsiad
title: Metals v0.11.3 - Aluminium
-authorURL: https://twitter.com/podsiadel
-authorImageURL: https://github.com/kpodsiad.png
---
We're happy to announce the release of Metals v0.11.3.
@@ -32,17 +30,18 @@ We're happy to announce the release of Metals v0.11.3.
-This release uses a new version of [Bloop](https://github.com/scalacenter/bloop/blob/main/notes/v1.5.0.md).
-This should fix a few bugs regarding e.g. stale diagnostics in Scala 3. Moreover, the new release brings also
-a few UX improvements regarding Doctor view and running/debugging your code.
+This release uses a new version of
+[Bloop](https://github.com/scalacenter/bloop/blob/main/notes/v1.5.0.md). This
+should fix a few bugs regarding e.g. stale diagnostics in Scala 3. Moreover, the
+new release brings also a few UX improvements regarding Doctor view and
+running/debugging your code.
For full details: https://github.com/scalameta/metals/milestone/48?closed=1
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
@@ -61,9 +60,14 @@ give Metals a try!
## Add more information to the Doctor view
-Thanks to the joined effort of [\#3772](https://github.com/scalameta/metals/pull/3772), [\#3763](https://github.com/scalameta/metals/pull/3763) and [\#3710](https://github.com/scalameta/metals/pull/3710) the Doctor view currently:
+Thanks to the joined effort of
+[\#3772](https://github.com/scalameta/metals/pull/3772),
+[\#3763](https://github.com/scalameta/metals/pull/3763) and
+[\#3710](https://github.com/scalameta/metals/pull/3710) the Doctor view
+currently:
-- shows the Metals server version and information about Java used to run the Metals server
+- shows the Metals server version and information about Java used to run the
+ Metals server
- displays the compilation status of project
- allows to navigate to the build target info for each target
@@ -71,11 +75,12 @@ Thanks to the joined effort of [\#3772](https://github.com/scalameta/metals/pull
## Create companion object code action
-Thanks to the efforts of [zmerr](https://github.com/zmerr), Metals offers a new code action - `Create companion object`.
-As its name suggests, it can be used to automatically create a companion object for the given class, trait or enum.
+Thanks to the efforts of [zmerr](https://github.com/zmerr), Metals offers a new
+code action - `Create companion object`. As its name suggests, it can be used to
+automatically create a companion object for the given class, trait or enum.
-![create-companion-object-code-action](https://imgur.com/HW5rr5f.gif)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+![create-companion-object-code-action](https://imgur.com/HW5rr5f.gif) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
## Add status bar when starting a debug session
@@ -85,65 +90,78 @@ Starting a debug session is a complex task, which requires a few steps:
- debugger has to be initialized (configuration, breakpoints, etc.)
Very often each of these steps takes up to a few seconds in order to complete.
-Until now, the user had no idea what is happening because Metals didn't show any progress indicator.
-[ckipp01](https://github.com/ckipp01) addressed this problem and added a status bar for each of the steps.
+Until now, the user had no idea what is happening because Metals didn't show any
+progress indicator. [ckipp01](https://github.com/ckipp01) addressed this problem
+and added a status bar for each of the steps.
-![start-debug-session-status-bar](https://imgur.com/qh7Jzdy.gif)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+![start-debug-session-status-bar](https://imgur.com/qh7Jzdy.gif) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
## Ensure the "no run or test" message is shown to user.
-There is a command `Run main class or tests in current file` which is a convenient way, as name suggests, of running main class:
-![run-main](https://imgur.com/rShZ8L3.gif)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+There is a command `Run main class or tests in current file` which is a
+convenient way, as name suggests, of running main class:
+![run-main](https://imgur.com/rShZ8L3.gif) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
or running tests in the current file:
-![run-tests](https://imgur.com/BtbOubC.gif)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+![run-tests](https://imgur.com/BtbOubC.gif) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
-It is also possible to just press `F5` in file and Metals will execute main class or run tests in the current file if no run configuration is defined.
+It is also possible to just press `F5` in file and Metals will execute main
+class or run tests in the current file if no run configuration is defined.
-However, this command was silently failing when there was no class or test to run in the file.
-This is no longer the case, now Metals will display proper error message in this scenario.
-![no-class-to-run](https://imgur.com/xda3ApF.gif)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+However, this command was silently failing when there was no class or test to
+run in the file. This is no longer the case, now Metals will display proper
+error message in this scenario.
+![no-class-to-run](https://imgur.com/xda3ApF.gif) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
## Show better unnaply signatures
-Previously, when pattern matching Metals was showing real `unnaply` method signature, which wasn't very useful.
-Now, Metals properly uses unapply result type to show what types can be matched on.
-![unnaply-signatures](https://imgur.com/Gzg11YT.png)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+Previously, when pattern matching Metals was showing real `unnaply` method
+signature, which wasn't very useful. Now, Metals properly uses unapply result
+type to show what types can be matched on.
+![unnaply-signatures](https://imgur.com/Gzg11YT.png) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
## Provide an easier way to configure bloop settings
-Bloop [JVM options](https://scalacenter.github.io/bloop/docs/server-reference#custom-java-options) can be
-configured through a global config file. Thanks to the [zmerr](https://github.com/zmerr), Metals is capable of changing those settings.
-Each modification of `Bloop Jvm Properties` settings will try to update that global file if possible.
-In case of manually configured settings, Metals will inform user about it and ask for their action.
+Bloop
+[JVM options](https://scalacenter.github.io/bloop/docs/server-reference#custom-java-options)
+can be configured through a global config file. Thanks to the
+[zmerr](https://github.com/zmerr), Metals is capable of changing those settings.
+Each modification of `Bloop Jvm Properties` settings will try to update that
+global file if possible. In case of manually configured settings, Metals will
+inform user about it and ask for their action.
-![update-bloop-settings](https://imgur.com/Xz2gO0h.gif)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+![update-bloop-settings](https://imgur.com/Xz2gO0h.gif) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
## Better MUnit support in Test Explorer
Disclaimer: **this works only when Bloop is a build server**
-Test Explorer in Metals is now able to detect some single test cases for [MUnit](https://scalameta.org/munit/) test framework.
-![munit-single-tests](https://imgur.com/QQMLy6M.png)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+Test Explorer in Metals is now able to detect some single test cases for
+[MUnit](https://scalameta.org/munit/) test framework.
+![munit-single-tests](https://imgur.com/QQMLy6M.png) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
-More information about current MUnit support status can be found at this [issue](https://github.com/scalameta/metals/issues/3771).
+More information about current MUnit support status can be found at this
+[issue](https://github.com/scalameta/metals/issues/3771).
## Better sbt BSP integration
-From this release Metals will no longer run the compilation when sbt generates files under the `src-managed` directory.
-The previous behaviour was related to some of the source generating sbt plugins. When used with sbt BSP users would experience continuous compilation.
-For more details, see [\#2183](https://github.com/scalameta/metals/issues/2183).
+From this release Metals will no longer run the compilation when sbt generates
+files under the `src-managed` directory. The previous behaviour was related to
+some of the source generating sbt plugins. When used with sbt BSP users would
+experience continuous compilation. For more details, see
+[\#2183](https://github.com/scalameta/metals/issues/2183).
## Improved Scala3 support
-Metals 0.11.3 now includes some better Scala3 supports in go-to-definition, rename symbols, and displaying hover.
+Metals 0.11.3 now includes some better Scala3 supports in go-to-definition,
+rename symbols, and displaying hover.
For more information, check out the following pull requests:
@@ -223,8 +241,7 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- fix: Make signature help work properly with a non-tuple result
[\#3849](https://github.com/scalameta/metals/pull/3849)
([tgodzik](https://github.com/tgodzik))
-- bloop jvm settings
- [\#3746](https://github.com/scalameta/metals/pull/3746)
+- bloop jvm settings [\#3746](https://github.com/scalameta/metals/pull/3746)
([zmerr](https://github.com/zmerr))
- Remove some redundant collection conversions
[\#3848](https://github.com/scalameta/metals/pull/3848)
@@ -256,14 +273,14 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- Update bloop-config, bloop-launcher to 1.4.13-75-f9d1bef5
[\#3831](https://github.com/scalameta/metals/pull/3831)
([scala-steward](https://github.com/scala-steward))
-- fix: (Scala3) Don't navigate to enclosing symbols on go-to-definition if cursor is not on symbol
+- fix: (Scala3) Don't navigate to enclosing symbols on go-to-definition if
+ cursor is not on symbol
[\#3807](https://github.com/scalameta/metals/pull/3807)
([tanishiking](https://github.com/tanishiking))
- Update scalafmt-dynamic to 3.4.3
[\#3840](https://github.com/scalameta/metals/pull/3840)
([scala-steward](https://github.com/scala-steward))
-- Update ujson to 1.6.0
- [\#3835](https://github.com/scalameta/metals/pull/3835)
+- Update ujson to 1.6.0 [\#3835](https://github.com/scalameta/metals/pull/3835)
([scala-steward](https://github.com/scala-steward))
- test: Add test for completions of matchtype / higher-kinded type
[\#3821](https://github.com/scalameta/metals/pull/3821)
@@ -271,8 +288,7 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- Update mill-contrib-testng to 0.10.3
[\#3834](https://github.com/scalameta/metals/pull/3834)
([scala-steward](https://github.com/scala-steward))
-- Update h2 to 2.1.212
- [\#3833](https://github.com/scalameta/metals/pull/3833)
+- Update h2 to 2.1.212 [\#3833](https://github.com/scalameta/metals/pull/3833)
([scala-steward](https://github.com/scala-steward))
- Fix formatting after last merge
[\#3827](https://github.com/scalameta/metals/pull/3827)
@@ -289,14 +305,12 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- Add support for Scala 3.1.2 and 3.1.3-RC2
[\#3822](https://github.com/scalameta/metals/pull/3822)
([tgodzik](https://github.com/tgodzik))
-- fix release script
- [\#3823](https://github.com/scalameta/metals/pull/3823)
+- fix release script [\#3823](https://github.com/scalameta/metals/pull/3823)
([dos65](https://github.com/dos65))
- fix: handle backticked names in inffered-type
[\#3791](https://github.com/scalameta/metals/pull/3791)
([dos65](https://github.com/dos65))
-- bloop - bump version
- [\#3818](https://github.com/scalameta/metals/pull/3818)
+- bloop - bump version [\#3818](https://github.com/scalameta/metals/pull/3818)
([dos65](https://github.com/dos65))
- docs: add common workflow to contributing guide
[\#3816](https://github.com/scalameta/metals/pull/3816)
@@ -304,14 +318,12 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- Remove -release option from the Scala 3 PC
[\#3812](https://github.com/scalameta/metals/pull/3812)
([tgodzik](https://github.com/tgodzik))
-- fix: uri encoding
- [\#3795](https://github.com/scalameta/metals/pull/3795)
+- fix: uri encoding [\#3795](https://github.com/scalameta/metals/pull/3795)
([kpodsiad](https://github.com/kpodsiad))
- docs overview: mention editor pages for installation (#3796)
[\#3811](https://github.com/scalameta/metals/pull/3811)
([juhp](https://github.com/juhp))
-- Log BSP server stderr
- [\#3789](https://github.com/scalameta/metals/pull/3789)
+- Log BSP server stderr [\#3789](https://github.com/scalameta/metals/pull/3789)
([alexarchambault](https://github.com/alexarchambault))
- Support MatchType in SemanticdbTreePrinter
[\#3787](https://github.com/scalameta/metals/pull/3787)
@@ -364,8 +376,7 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- Update bloop-config, bloop-launcher to 1.4.13-55-1fc97fae
[\#3774](https://github.com/scalameta/metals/pull/3774)
([scala-steward](https://github.com/scala-steward))
-- Update pprint to 0.7.3
- [\#3776](https://github.com/scalameta/metals/pull/3776)
+- Update pprint to 0.7.3 [\#3776](https://github.com/scalameta/metals/pull/3776)
([scala-steward](https://github.com/scala-steward))
- Update flyway-core to 8.5.5
[\#3778](https://github.com/scalameta/metals/pull/3778)
@@ -373,8 +384,7 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- feat: add java version and Metals version to doctor
[\#3772](https://github.com/scalameta/metals/pull/3772)
([kpodsiad](https://github.com/kpodsiad))
-- fix: nightly script
- [\#3773](https://github.com/scalameta/metals/pull/3773)
+- fix: nightly script [\#3773](https://github.com/scalameta/metals/pull/3773)
([dos65](https://github.com/dos65))
- fix: munit test discovery when there is no package
[\#3770](https://github.com/scalameta/metals/pull/3770)
@@ -445,8 +455,7 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- docs: small update to contributing docs
[\#3732](https://github.com/scalameta/metals/pull/3732)
([ckipp01](https://github.com/ckipp01))
-- bump: bloop
- [\#3729](https://github.com/scalameta/metals/pull/3729)
+- bump: bloop [\#3729](https://github.com/scalameta/metals/pull/3729)
([kpodsiad](https://github.com/kpodsiad))
- feat: implement test selection request for sbt
[\#3678](https://github.com/scalameta/metals/pull/3678)
@@ -457,7 +466,8 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- fix(doctor): ensure compilationStatus is in the json payload
[\#3725](https://github.com/scalameta/metals/pull/3725)
([ckipp01](https://github.com/ckipp01))
-- Add `generated` info to `Source Directories `section of `Display build target info`
+- Add `generated` info to `Source Directories`section of
+ `Display build target info`
[\#3720](https://github.com/scalameta/metals/pull/3720)
([tanishiking](https://github.com/tanishiking))
- fix: ensure user gets warned of workspace error when running with lens
@@ -475,8 +485,7 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- Update mill-contrib-testng to 0.10.1
[\#3714](https://github.com/scalameta/metals/pull/3714)
([scala-steward](https://github.com/scala-steward))
-- Update pprint to 0.7.2
- [\#3715](https://github.com/scalameta/metals/pull/3715)
+- Update pprint to 0.7.2 [\#3715](https://github.com/scalameta/metals/pull/3715)
([scala-steward](https://github.com/scala-steward))
- Exclude generated source items from FileWatcher (sbt BSP)
[\#3694](https://github.com/scalameta/metals/pull/3694)
@@ -514,7 +523,7 @@ $ git shortlog -sn --no-merges v0.11.2..v0.11.3
- docs: make release instruction more structured
[\#3700](https://github.com/scalameta/metals/pull/3700)
([kpodsiad](https://github.com/kpodsiad))
-- Fix DefinitionCrossLspSuite
+- Fix DefinitionCrossLspSuite
[\#3692](https://github.com/scalameta/metals/pull/3692)
([tgodzik](https://github.com/tgodzik))
- chore(docs): get snapshot version for docs from 2.13 now
diff --git a/website/blog/2022-04-27-aluminium.md b/website/blog/2022-04-27-aluminium.md
index 9888ccc6e4c..0319ea5ff16 100644
--- a/website/blog/2022-04-27-aluminium.md
+++ b/website/blog/2022-04-27-aluminium.md
@@ -1,11 +1,11 @@
---
-author: Vadim Chelyshov
+authors: dos65
title: Metals v0.11.4 - Aluminium
-authorURL: https://twitter.com/_dos65
-authorImageURL: https://github.com/dos65.png
---
-We're happy to announce the release of Metals v0.11.4, which includes the hotfix of [the issue with `cs install metals`](https://github.com/coursier/coursier/issues/2406).
+We're happy to announce the release of Metals v0.11.4, which includes the hotfix
+of
+[the issue with `cs install metals`](https://github.com/coursier/coursier/issues/2406).
@@ -33,10 +33,9 @@ We're happy to announce the release of Metals v0.11.4, which includes the hotfix
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
@@ -69,6 +68,5 @@ $ git shortlog -sn --no-merges v0.11.3..v0.11.4
- chore: update server version after release
[\#3869](https://github.com/scalameta/metals/pull/3869)
([kpodsiad](https://github.com/kpodsiad))
-- docs: release notes
- [\#3860](https://github.com/scalameta/metals/pull/3860)
+- docs: release notes [\#3860](https://github.com/scalameta/metals/pull/3860)
([kpodsiad](https://github.com/kpodsiad))
diff --git a/website/blog/2022-04-28-aluminium.md b/website/blog/2022-04-28-aluminium.md
index 973208747f5..98745230150 100644
--- a/website/blog/2022-04-28-aluminium.md
+++ b/website/blog/2022-04-28-aluminium.md
@@ -1,11 +1,10 @@
---
-author: Vadim Chelyshov
+authors: dos65
title: Metals v0.11.5 - Aluminium
-authorURL: https://twitter.com/_dos65
-authorImageURL: https://github.com/dos65.png
---
-We're happy to announce the release of Metals v0.11.5, which brings a few of hotfixes and improves hover info for Scala 3
+We're happy to announce the release of Metals v0.11.5, which brings a few of
+hotfixes and improves hover info for Scala 3
@@ -35,10 +34,9 @@ We're happy to announce the release of Metals v0.11.5, which brings a few of hot
For full details: https://github.com/scalameta/metals/milestone/50?closed=1
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
@@ -88,6 +86,5 @@ $ git shortlog -sn --no-merges v0.11.4..v0.11.5
- update versions for 0.11.4
[\#3874](https://github.com/scalameta/metals/pull/3874)
([dos65](https://github.com/dos65))
-- 0.11.4 release notes
- [\#3873](https://github.com/scalameta/metals/pull/3873)
+- 0.11.4 release notes [\#3873](https://github.com/scalameta/metals/pull/3873)
([dos65](https://github.com/dos65))
diff --git a/website/blog/2022-06-03-aluminium.md b/website/blog/2022-06-03-aluminium.md
index 697ef7e7529..5b677ff6177 100644
--- a/website/blog/2022-06-03-aluminium.md
+++ b/website/blog/2022-06-03-aluminium.md
@@ -1,11 +1,10 @@
---
-author: Rikito Taniguchi
+authors: tanishiking
title: Metals v0.11.6 - Aluminium
-authorURL: https://twitter.com/tanishiking25
-authorImageURL: https://github.com/tanishiking.png
---
-We're happy to announce the release of Metals v0.11.6 which continues to improve the Scala 3 support along with many other fixes.
+We're happy to announce the release of Metals v0.11.6 which continues to improve
+the Scala 3 support along with many other fixes.
@@ -25,10 +24,9 @@ We're happy to announce the release of Metals v0.11.6 which continues to improve
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
@@ -43,48 +41,71 @@ Check out [https://scalameta.org/metals/](https://scalameta.org/metals/), and
give Metals a try!
## Reduce file watcher memory usage
-Previously, Metals consumed a huge amount of memory for file watchers in large projects, especially on macOS.
-Now, Metals uses a memory-efficient way to watch files to detect changes and consume less memory.
-For more technical details, see the original PR: [\#3758](https://github.com/scalameta/metals/pull/3758).
+Previously, Metals consumed a huge amount of memory for file watchers in large
+projects, especially on macOS. Now, Metals uses a memory-efficient way to watch
+files to detect changes and consume less memory.
-## [Scala3] Override Completions
+For more technical details, see the original PR:
+[\#3758](https://github.com/scalameta/metals/pull/3758).
-Override completions for Scala3 are now available with Metals 0.11.6!
-Now, Metals shows the scaladoc on hover for Scala3 projects. (Before this release, Metals was unable to show the scaladoc for the symbols from third-party modules).
+## [Scala3] Override Completions
+Override completions for Scala3 are now available with Metals 0.11.6! Now,
+Metals shows the scaladoc on hover for Scala3 projects. (Before this release,
+Metals was unable to show the scaladoc for the symbols from third-party
+modules).
![override-completion](https://i.imgur.com/Go3sMxy.gif)
## [Scala3] Show scaladoc on hover for Scala 3 project
-Previously, scaladocs were missing for a lot of classes and methods in Scala 3, especially for the symbols from third-party modules. From this release, Metals will always show the scaladoc on hover for Scala3 projects.
+Previously, scaladocs were missing for a lot of classes and methods in Scala 3,
+especially for the symbols from third-party modules. From this release, Metals
+will always show the scaladoc on hover for Scala3 projects.
![hover-scala3](https://i.imgur.com/Svzq5DD.png)
### [Scala3] Support `completionItem/resolve`
-`completionItem/resolve` is a feature that provides on-demand, more detailed information when moving through the list of suggested completions. It will show documentation, proper parameter names for Java methods, and default values for Scala 3 methods. Now, this is also available for use in Scala 3.
+`completionItem/resolve` is a feature that provides on-demand, more detailed
+information when moving through the list of suggested completions. It will show
+documentation, proper parameter names for Java methods, and default values for
+Scala 3 methods. Now, this is also available for use in Scala 3.
![completion-item-resolve](https://i.imgur.com/Tz6AOsx.gif)
-
## Show parent scaladoc if implementation is returning empty
-Scaladocs can be inspected whenever you hover, use a completion or signature help. Up until recently we only showed you the documentation if the exact method you are using had the scaladocs written, which meant that if you overrode a method and didn't add the scaladoc comments again we would not show you any documentation. One example of such method is `headOption` on `List`.
+Scaladocs can be inspected whenever you hover, use a completion or signature
+help. Up until recently we only showed you the documentation if the exact method
+you are using had the scaladocs written, which meant that if you overrode a
+method and didn't add the scaladoc comments again we would not show you any
+documentation. One example of such method is `headOption` on `List`.
- From this release we will also search the parent method in case the current method's scaladoc are empty.
+From this release we will also search the parent method in case the current
+method's scaladoc are empty.
## [Scala 3] Show scaladocs for signature help
-As mentioned in the previous paragraph, Metals can show you documentation in three different places. That, however, was true only for Scala 2 previously. In this release, we will now show you proper documentation whenever invoking signature help.
+As mentioned in the previous paragraph, Metals can show you documentation in
+three different places. That, however, was true only for Scala 2 previously. In
+this release, we will now show you proper documentation whenever invoking
+signature help.
-As a reminder, signature help is used to indicate what parameters can be used in a method. It should pop up automatically after writing `(`, but you can also invoke it manually. In VS Code that takes the form of `editor.action.triggerParameterHints` command, which can also be bound to a shortcut and by default is.
+As a reminder, signature help is used to indicate what parameters can be used in
+a method. It should pop up automatically after writing `(`, but you can also
+invoke it manually. In VS Code that takes the form of
+`editor.action.triggerParameterHints` command, which can also be bound to a
+shortcut and by default is.
## [MUnit] Test Explorer can find helper methods from parent classes
-MUnit allows to use [helper functions](https://scalameta.org/munit/docs/tests.html#declare-tests-inside-a-helper-function) when declaring tests. Very often those helper methods are extracted to some parent classes which are extended by many test suites.
-Now, Metals can find usages of those helper methods and display them in Test Explorer.
+MUnit allows to use
+[helper functions](https://scalameta.org/munit/docs/tests.html#declare-tests-inside-a-helper-function)
+when declaring tests. Very often those helper methods are extracted to some
+parent classes which are extended by many test suites. Now, Metals can find
+usages of those helper methods and display them in Test Explorer.
This feature is available for Bloop and SBT 1.7.0-M2 or later.
@@ -92,28 +113,48 @@ This feature is available for Bloop and SBT 1.7.0-M2 or later.
## Support Cats Effect stacktraces in stacktrace analyzer
-Cats Effect offers [asynchronous stack tracing](https://typelevel.org/cats-effect/docs/tracing#asynchronous-stack-tracing) which augments exceptions with additional information.
-Now, Stacktrace Analyzer is able to recognize CE's stacktraces and provide link to location in code. Say no to tedious debugging when you have only stacktrace from the logs!
+Cats Effect offers
+[asynchronous stack tracing](https://typelevel.org/cats-effect/docs/tracing#asynchronous-stack-tracing)
+which augments exceptions with additional information.\
+Now, Stacktrace Analyzer is able to recognize CE's stacktraces and provide link
+to location in code. Say no to tedious debugging when you have only stacktrace
+from the logs!
![cats-effect-stacktraces](https://imgur.com/5fMvcYd.gif)
-
## Improve implement all completion and code action
-Previously, when we invoked the "implement all members" completion and code action, Metals used `x$0` for Java parameter names. Now, Metals fills these with the correct parameter names.
-
+
+Previously, when we invoked the "implement all members" completion and code
+action, Metals used `x$0` for Java parameter names. Now, Metals fills these with
+the correct parameter names.
+
## Improve rewrite to braces/parenthesis code action
-Sometimes, it wasn't clear which code would be affected by [rewrite to braces/parenthesis](https://scalameta.org/metals/blog/2021/09/06/tungsten#replace--with--in-functions-and-vice-versa) code action.
-Now, code action's description contains name of the function/method which will be affected by executing action.
-![rewrite-braces-parens](https://imgur.com/SkHolsJ.gif)
-Theme: [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
+Sometimes, it wasn't clear which code would be affected by
+[rewrite to braces/parenthesis](https://scalameta.org/metals/blog/2021/09/06/tungsten#replace--with--in-functions-and-vice-versa)
+code action. Now, code action's description contains name of the function/method
+which will be affected by executing action.
+![rewrite-braces-parens](https://imgur.com/SkHolsJ.gif) Theme:
+[One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme)
## Automatically setup java home for the Bloop build server
-In previous versions of Metals, if users wanted to change the java version of the Bloop build server, they would need to manually update `.bloop/bloop.json` file in their user home directory. With this version, we ensure that the Bloop Java version will correspond to Metals one to avoid weird compilation issues that could arise from different versions being used.
-Now, each time you update `javaHome` or `bloopJvmProperties` settings, Metals will ask you whether to forward those changes to the Bloop configuration file. If you modified that file previously or want to use a custom one, you can dismiss the Metals notification. Otherwise, everything will automatically be set up for you once you decide to apply the changes. If you never created the file, we will create it before starting Bloop, so you should not notice anything out of order.
+In previous versions of Metals, if users wanted to change the java version of
+the Bloop build server, they would need to manually update `.bloop/bloop.json`
+file in their user home directory. With this version, we ensure that the Bloop
+Java version will correspond to Metals one to avoid weird compilation issues
+that could arise from different versions being used.
+
+Now, each time you update `javaHome` or `bloopJvmProperties` settings, Metals
+will ask you whether to forward those changes to the Bloop configuration file.
+If you modified that file previously or want to use a custom one, you can
+dismiss the Metals notification. Otherwise, everything will automatically be set
+up for you once you decide to apply the changes. If you never created the file,
+we will create it before starting Bloop, so you should not notice anything out
+of order.
## Support for Scala 3.1.3-RC4, 3.1.3-RC3
+
Metals 0.11.6 supports Scala 3.1.3-RC3 and RC4.
## Contributors
@@ -279,8 +320,7 @@ $ git shortlog -sn --no-merges v0.11.5..v0.11.6
- Update scalafmt-dynamic to 3.5.2
[\#3893](https://github.com/scalameta/metals/pull/3893)
([scala-steward](https://github.com/scala-steward))
-- Update ujson to 2.0.0
- [\#3890](https://github.com/scalameta/metals/pull/3890)
+- Update ujson to 2.0.0 [\#3890](https://github.com/scalameta/metals/pull/3890)
([scala-steward](https://github.com/scala-steward))
- Update xnio-nio to 3.8.7.Final
[\#3892](https://github.com/scalameta/metals/pull/3892)
@@ -309,6 +349,5 @@ $ git shortlog -sn --no-merges v0.11.5..v0.11.6
- 0.11.5 - update versions
[\#3883](https://github.com/scalameta/metals/pull/3883)
([dos65](https://github.com/dos65))
-- 0.11.5 release notes
- [\#3882](https://github.com/scalameta/metals/pull/3882)
+- 0.11.5 release notes [\#3882](https://github.com/scalameta/metals/pull/3882)
([dos65](https://github.com/dos65))
diff --git a/website/blog/2022-07-04-aluminium.md b/website/blog/2022-07-04-aluminium.md
index 62488649dd4..47afe64fe85 100644
--- a/website/blog/2022-07-04-aluminium.md
+++ b/website/blog/2022-07-04-aluminium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.11.7 - Aluminium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.11.7, which brings a large
@@ -202,7 +200,7 @@ Metals 0.11.7 allows users to use a new code action that can convert all
arguments to named arguments, which is only available on Scala 2 for the time
being.
-The new code action will work on method calls with multiple arguments, where
+The new code action will work on method calls with multiple arguments, where\
it's sometimes hard to tell which arguments match which parameters at a glance.
In this situation you may want to make them named arguments. Now you will be
able to automatically convert all those arguments into named arguments.
diff --git a/website/blog/2022-08-10-aluminium.md b/website/blog/2022-08-10-aluminium.md
index 8c11f18ca65..c8431a76957 100644
--- a/website/blog/2022-08-10-aluminium.md
+++ b/website/blog/2022-08-10-aluminium.md
@@ -1,11 +1,10 @@
---
-author: Rikito Taniguchi
+authors: tanishiking
title: Metals v0.11.8 - Aluminium
-authorURL: https://twitter.com/tanishiking
-authorImageURL: https://github.com/tanishiking.png
---
-We're happy to announce the release of Metals v0.11.8, bringing a number of improvements for both Scala 2 and Scala 3.
+We're happy to announce the release of Metals v0.11.8, bringing a number of
+improvements for both Scala 2 and Scala 3.
@@ -35,10 +34,9 @@ We're happy to announce the release of Metals v0.11.8, bringing a number of impr
For full details: https://github.com/scalameta/metals/milestone/52?closed=1
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
@@ -57,11 +55,15 @@ and a lot of bugfixes!
## [Scala 3] Auto import and completion for extension methods
-You might know that Scala 3 has introduced `extension methods` that allow defining new methods to your existing types.
+You might know that Scala 3 has introduced `extension methods` that allow
+defining new methods to your existing types.
-Previously, Metals couldn't auto-complete extension methods; so developers had to find an appropriate extension method from their workspace and manually import it. But, this was time-consuming and not always beginner friendly.
+Previously, Metals couldn't auto-complete extension methods; so developers had
+to find an appropriate extension method from their workspace and manually import
+it. But, this was time-consuming and not always beginner friendly.
-Now, Metals provides auto-completion for extension methods and automatically imports them!
+Now, Metals provides auto-completion for extension methods and automatically
+imports them!
![extension-methods](https://i.imgur.com/EAbVHeH.gif)
@@ -69,27 +71,37 @@ Now, Metals provides auto-completion for extension methods and automatically imp
[Metals 0.11.7 added `ConvertToNamedParameters` code action to Scala2](https://scalameta.org/metals/blog/2022/07/04/aluminium#scala-2-add-converttonamedarguments-code-action).
-Thanks to the contribution by [@jkciesluk](https://github.com/jkciesluk), this feature is now available for Scala 3!
+Thanks to the contribution by [@jkciesluk](https://github.com/jkciesluk), this
+feature is now available for Scala 3!
![convert-to-named](https://i.imgur.com/9i7MWoQ.gif)
## [Scala 3] Scaladoc completion
-Metals now supports offering Scaladoc completions in Scala 3. When typing `/**` you get an option to auto-complete a scaladoc template for methods, classes, etc.!
+Metals now supports offering Scaladoc completions in Scala 3. When typing `/**`
+you get an option to auto-complete a scaladoc template for methods, classes,
+etc.!
![scala-doc-completion](https://i.imgur.com/MEJUXr3.gif)
## [Scala 3] Completions in string interpolation
-In the previous versions, whenever users wanted to include a value in a string using string interpolation, they would need to do it all manually. Now, it is possible to get an automatic conversion to string interpolation when typing `$value`, as well as automatic wrapping in `{}` when accessing members of such value.
+In the previous versions, whenever users wanted to include a value in a string
+using string interpolation, they would need to do it all manually. Now, it is
+possible to get an automatic conversion to string interpolation when typing
+`$value`, as well as automatic wrapping in `{}` when accessing members of such
+value.
![scala3-interpolation](https://i.imgur.com/EyFKpiv.gif)
## [Scala 2] Automatically import types in string interpolations
-Previously, the only suggestions for string interpolations were coming from the currently available symbols in scope. This meant that if you wanted to import something from another package, you would need to do it manually.
+Previously, the only suggestions for string interpolations were coming from the
+currently available symbols in scope. This meant that if you wanted to import
+something from another package, you would need to do it manually.
-This problem is now resolved. Users can easily get such symbols automatically imported, which creates a seamless workflow.
+This problem is now resolved. Users can easily get such symbols automatically
+imported, which creates a seamless workflow.
![scala2-inteprolation](https://i.imgur.com/cCWTQnj.gif)
@@ -97,8 +109,9 @@ The feature is also being worked on for Scala 3.
## Code Action documentation
-Have you ever wondered what kind of refactorings are available in Metals?
-Check out this new page in the documentation! You can see a list of all the code actions in Metals with examples.
+Have you ever wondered what kind of refactorings are available in Metals? Check
+out this new page in the documentation! You can see a list of all the code
+actions in Metals with examples.
https://scalameta.org/metals/docs/codeactions/codeactions
Big thanks to [zmerr](https://github.com/vzmerr) for writing this documentation.
@@ -194,8 +207,7 @@ $ git shortlog -sn --no-merges v0.11.7..v0.11.8
- fix: request configuration before connecting to build server
[\#4180](https://github.com/scalameta/metals/pull/4180)
([dos65](https://github.com/dos65))
-- Code Actions doc page
- [\#4157](https://github.com/scalameta/metals/pull/4157)
+- Code Actions doc page [\#4157](https://github.com/scalameta/metals/pull/4157)
([vzmerr](https://github.com/vzmerr))
- fix: Remember choice `Don't show this again` for sbt as build server
[\#4175](https://github.com/scalameta/metals/pull/4175)
@@ -323,8 +335,7 @@ $ git shortlog -sn --no-merges v0.11.7..v0.11.8
- build(deps): Update mill-contrib-testng from 0.10.4 to 0.10.5
[\#4119](https://github.com/scalameta/metals/pull/4119)
([scala-steward](https://github.com/scala-steward))
-- add scala 3.2.0-RC2
- [\#4118](https://github.com/scalameta/metals/pull/4118)
+- add scala 3.2.0-RC2 [\#4118](https://github.com/scalameta/metals/pull/4118)
([dos65](https://github.com/dos65))
- build(deps): Update jsoup from 1.15.1 to 1.15.2
[\#4120](https://github.com/scalameta/metals/pull/4120)
diff --git a/website/blog/2022-10-06-aluminium.md b/website/blog/2022-10-06-aluminium.md
index dbb08ea73e1..c1756aee58c 100644
--- a/website/blog/2022-10-06-aluminium.md
+++ b/website/blog/2022-10-06-aluminium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.11.9 - Aluminium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.11.9, which brings some of the
@@ -35,7 +33,8 @@ the new contributors for their great work!
-For full details: [https://github.com/scalameta/metals/milestone/53?closed=1](https://github.com/scalameta/metals/milestone/53?closed=1)
+For full details:
+[https://github.com/scalameta/metals/milestone/53?closed=1](https://github.com/scalameta/metals/milestone/53?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
@@ -269,7 +268,8 @@ the user facing ones are mentioned here:
- feature: Improved completions in type positions
- feature: Add completion for extends keyword after classes/traits/objects/enums
- improvement: Don't show misconfigured test message
-- bugfix: Add backticks where needed in "convert to named arguments" [kubukoz](https://github.com/kubukoz)
+- bugfix: Add backticks where needed in "convert to named arguments"
+ [kubukoz](https://github.com/kubukoz)
- bugfix: Try to download semanticdb even if it might not be supported
- bugfix: Properly write constant types in signatures
- bugfix: Allow to add jvmopts and env variables when running tests
diff --git a/website/blog/2023-01-02-aluminium.md b/website/blog/2023-01-02-aluminium.md
index 223d011ddb1..9b30a229c91 100644
--- a/website/blog/2023-01-02-aluminium.md
+++ b/website/blog/2023-01-02-aluminium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.11.10 - Aluminium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.11.10, which brings in a lot of
diff --git a/website/blog/2023-03-02-aluminium.md b/website/blog/2023-03-02-aluminium.md
index aee43410b78..f191aca5041 100644
--- a/website/blog/2023-03-02-aluminium.md
+++ b/website/blog/2023-03-02-aluminium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v0.11.11 - Aluminium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v0.11.11, which brings in a couple
@@ -104,17 +102,17 @@ You can also modify your theme colors and styles for some particular types of
symbols. For example:
```json
- "editor.semanticTokenColorCustomizations": {
- "[Adapta Nokto]": {
- "rules": {
- "variable": "#c95252",
- "*.readonly": "#8d91b8",
- "*.deprecated": {
- "strikethrough": true
- }
+"editor.semanticTokenColorCustomizations": {
+ "[Adapta Nokto]": {
+ "rules": {
+ "variable": "#c95252",
+ "*.readonly": "#8d91b8",
+ "*.deprecated": {
+ "strikethrough": true
}
}
- },
+ }
+},
```
will make vars red and values light blue while also crossing out any deprecated
diff --git a/website/blog/2023-04-21-aluminium.md b/website/blog/2023-04-21-aluminium.md
index 23a9e148702..06e95977296 100644
--- a/website/blog/2023-04-21-aluminium.md
+++ b/website/blog/2023-04-21-aluminium.md
@@ -1,10 +1,11 @@
---
-author: Katarzyna Marek
+authors: kmarek
title: Metals v0.11.12 - Aluminium
-authorURL: https://github.com/kasiaMarek
-authorImageURL: https://github.com/kasiaMarek.png
---
-We're happy to announce the release of Metals v0.11.12. This release brings mostly stability fixes, some various improvements, and a start towards better issue identification and reporting when users experience issues.
+
+We're happy to announce the release of Metals v0.11.12. This release brings
+mostly stability fixes, some various improvements, and a start towards better
+issue identification and reporting when users experience issues.
@@ -35,10 +36,9 @@ For full details: [https://github.com/scalameta/metals/milestone/56?closed=1]
(https://github.com/scalameta/metals/milestone/56?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
@@ -52,23 +52,41 @@ give Metals a try!
## Introducing Error Reports
-Starting with this release, upon chosen errors or incorrect states in metals error reports will be automatically generated and saved in the `.metals/.reports` directory within the workspace. Such an error report can later be used by users to attach to a github issue with additional information. All the reports have their paths anonymised.
+Starting with this release, upon chosen errors or incorrect states in metals
+error reports will be automatically generated and saved in the
+`.metals/.reports` directory within the workspace. Such an error report can
+later be used by users to attach to a github issue with additional information.
+All the reports have their paths anonymised.
Currently, we create two types of reports:
-- _incognito_ under `.metals/.reports/metals`: these error reports contain only metals related stacktraces and should not contain any sensitive/private information
-- _unsanitized_ under `.metals/.reports/metals-full`: these error reports may contain come sensitive/private information (e.g. code snippets)
+- _incognito_ under `.metals/.reports/metals`: these error reports contain only
+ metals related stacktraces and should not contain any sensitive/private
+ information
+- _unsanitized_ under `.metals/.reports/metals-full`: these error reports may
+ contain come sensitive/private information (e.g. code snippets)
-To make it easier to attach reports to github issues the `zip-reports` command will zip all the **incognito** reports into `.metals/.reports/report.zip`, while unsanitized reports will have to be browsed and attached by hand. In order not to clutter the workspace too much, only up to 30 last reports of each kind are kept at a time.
+To make it easier to attach reports to github issues the `zip-reports` command
+will zip all the **incognito** reports into `.metals/.reports/report.zip`, while
+unsanitized reports will have to be browsed and attached by hand. In order not
+to clutter the workspace too much, only up to 30 last reports of each kind are
+kept at a time.
-When running into a problem in VSCode (or any editor that implements this command) users can use the `Metals: Open new github issue` command. This will create a template for an issue with all basic info such as Metals version, used build server etc.. Next, you can browse through reports and drag and drop chosen ones to your GitHub issue. Invoking the `Metals: Zip reports` command will create a zip of all the incognito that reports can also be included in the issue.
+When running into a problem in VSCode (or any editor that implements this
+command) users can use the `Metals: Open new github issue` command. This will
+create a template for an issue with all basic info such as Metals version, used
+build server etc.. Next, you can browse through reports and drag and drop chosen
+ones to your GitHub issue. Invoking the `Metals: Zip reports` command will
+create a zip of all the incognito that reports can also be included in the
+issue.
![Reports](https://i.imgur.com/wBwFjpZ.gif)
![Zip reports](https://i.imgur.com/YN3U3N9.gif)
## New code action for converting dependencies from sbt to scala-cli compliant ones
-New code action for scala-cli `using (dep | lib | plugin)` directives, which allows to convert dependencies from sbt style to scala-cli compliant ones.
+New code action for scala-cli `using (dep | lib | plugin)` directives, which
+allows to convert dependencies from sbt style to scala-cli compliant ones.
![Convert dependency](https://i.imgur.com/G9W7Nox.gif)
@@ -76,7 +94,9 @@ A great contribution by [majk-p](https://github.com/majk-p).
## Improvements to semantic highlighting
-This release brings a lot of improvements for semantic highlighting thanks to [jkciesluk](https://github.com/scalameta/metals/pulls/jkciesluk) and [tgodzik](https://github.com/tgodzik). This includes:
+This release brings a lot of improvements for semantic highlighting thanks to
+[jkciesluk](https://github.com/scalameta/metals/pulls/jkciesluk) and
+[tgodzik](https://github.com/tgodzik). This includes:
- Added declaration and definition tokens.
- Parameters are now read only.
@@ -87,33 +107,56 @@ This release brings a lot of improvements for semantic highlighting thanks to [j
## Miscellaneous
-- bugfix: Ignored tests now show up in the test explorer. [kpodsiad](https://github.com/kpodsiad)
+- bugfix: Ignored tests now show up in the test explorer.
+ [kpodsiad](https://github.com/kpodsiad)
- improvement: Reworked package rename upon file move.
-- bugfix: Fixed go to and hover for `TypeTest`. [tgodzik](https://github.com/tgodzik)
-- feature: Auto connect to bazel-bsp if it's installed. [tanishiking](https://github.com/tanishiking)
+- bugfix: Fixed go to and hover for `TypeTest`.
+ [tgodzik](https://github.com/tgodzik)
+- feature: Auto connect to bazel-bsp if it's installed.
+ [tanishiking](https://github.com/tanishiking)
- docs: Updated emacs support table. [kurnevsky](https://github.com/kurnevsky)
-- bugfix: Placing cursor on primary contructor type parameter no longer incorrectly highlights type parameter with the same name used in a member definiton. [tgodzik](https://github.com/tgodzik)
-- bugfix: Added Reload sbt after changes in the `metals.sbt` plugin file. [adpi2](https://github.com/adpi2)
+- bugfix: Placing cursor on primary contructor type parameter no longer
+ incorrectly highlights type parameter with the same name used in a member
+ definiton. [tgodzik](https://github.com/tgodzik)
+- bugfix: Added Reload sbt after changes in the `metals.sbt` plugin file.
+ [adpi2](https://github.com/adpi2)
- bugfix: Added handling fixing wildcard imports upon file rename.
-- bugfix: Added refresh test case code lenses after test discovery. [LaurenceWarne](https://github.com/LaurenceWarne)
-- bugfix: Fixed lacking newline for new imports added upon file move. [susliko](https://github.com/susliko)
+- bugfix: Added refresh test case code lenses after test discovery.
+ [LaurenceWarne](https://github.com/LaurenceWarne)
+- bugfix: Fixed lacking newline for new imports added upon file move.
+ [susliko](https://github.com/susliko)
- bugfix: Add showing lenses when BSP server is plain Scala.
-- bugfix: A workaround for running BSP sbt when it's installed in a directory with a space on Widows. [tgodzik](https://github.com/tgodzik)
+- bugfix: A workaround for running BSP sbt when it's installed in a directory
+ with a space on Widows. [tgodzik](https://github.com/tgodzik)
- improvement: If an aliased inferred type is not in scope dealias it.
-- feature: Add hover information for structural types. [jkciesluk](https://github.com/jkciesluk)
-- feature: Inline code action will be no longer executed if any of the references used on the right-hand side of the value to be inlined are shadowed by local definitions. In this case a warning will be shown to the user instead.
-- bugfix: Fixed test suite discovery in presence of a companion object. [xydrolase](https://github.com/xydrolase)
-- bugfix: Fixed shown return type of completions, that are no argument members, which return type depends on the ower type parameter.
+- feature: Add hover information for structural types.
+ [jkciesluk](https://github.com/jkciesluk)
+- feature: Inline code action will be no longer executed if any of the
+ references used on the right-hand side of the value to be inlined are shadowed
+ by local definitions. In this case a warning will be shown to the user
+ instead.
+- bugfix: Fixed test suite discovery in presence of a companion object.
+ [xydrolase](https://github.com/xydrolase)
+- bugfix: Fixed shown return type of completions, that are no argument members,
+ which return type depends on the ower type parameter.
- bugfix: Strip ANSI colors before printing worksheet results.
-- improvement: Force close thread when file watching cancel hangs. [tgodzik](https://github.com/tgodzik)
-- bugfix: Add end condition for tokenizing partially written code, so tokenizing doesn't hang. [tgodzik](https://github.com/tgodzik)
-- bugfix: Correctly adjust span for extension methods for correctly displayed highligh. [jkciesluk](https://github.com/jkciesluk)
-- bugfix: Correctly show `Expression type` (dealiased type) for parametrized types.
-- bugfix: Filter out `-Ycheck-reentrant` option for worksheets, so worksheets correctly show results. [tgodzik](https://github.com/tgodzik)
-- bugfix: Show correct defaults when named parameters order is mixed in Scala 2. [tgodzik](https://github.com/tgodzik)
+- improvement: Force close thread when file watching cancel hangs.
+ [tgodzik](https://github.com/tgodzik)
+- bugfix: Add end condition for tokenizing partially written code, so tokenizing
+ doesn't hang. [tgodzik](https://github.com/tgodzik)
+- bugfix: Correctly adjust span for extension methods for correctly displayed
+ highligh. [jkciesluk](https://github.com/jkciesluk)
+- bugfix: Correctly show `Expression type` (dealiased type) for parametrized
+ types.
+- bugfix: Filter out `-Ycheck-reentrant` option for worksheets, so worksheets
+ correctly show results. [tgodzik](https://github.com/tgodzik)
+- bugfix: Show correct defaults when named parameters order is mixed in Scala 2.
+ [tgodzik](https://github.com/tgodzik)
- bugfix: Print better constructors in synthetic decorator.
-- bugfix: Show synthetic objects as options for case classes and AnyVal implicit classes in `Metals Analayze Source`. [kpodsiad](https://github.com/kpodsiad)
-- bugfix: Corrrectly handle testfiles renames in test explorer. [kpodsiad](https://github.com/kpodsiad)
+- bugfix: Show synthetic objects as options for case classes and AnyVal implicit
+ classes in `Metals Analayze Source`. [kpodsiad](https://github.com/kpodsiad)
+- bugfix: Corrrectly handle testfiles renames in test explorer.
+ [kpodsiad](https://github.com/kpodsiad)
## Contributors
@@ -235,8 +278,8 @@ $ git shortlog -sn --no-merges v0.11.11..v0.11.12
- improvement: Extract shared mtags without scalameta dependency
[\#5075](https://github.com/scalameta/metals/pull/5075)
([rochala](https://github.com/rochala))
-- build(deps): bump @docusaurus/plugin-client-redirects from 2.3.1 to 2.4.0 in /website
- [\#5111](https://github.com/scalameta/metals/pull/5111)
+- build(deps): bump @docusaurus/plugin-client-redirects from 2.3.1 to 2.4.0 in
+ /website [\#5111](https://github.com/scalameta/metals/pull/5111)
([dependabot[bot]](https://github.com/dependabot[bot]))
- build(deps): Update xnio-nio from 3.8.8.Final to 3.8.9.Final
[\#5113](https://github.com/scalameta/metals/pull/5113)
diff --git a/website/blog/2023-07-17-workspace-folders.md b/website/blog/2023-07-17-workspace-folders.md
index 348eed68180..dcd042175b8 100644
--- a/website/blog/2023-07-17-workspace-folders.md
+++ b/website/blog/2023-07-17-workspace-folders.md
@@ -1,20 +1,30 @@
---
-author: Katarzyna Marek
+authors: kmarek
title: Workspace folders
-authorURL: https://github.com/kasiaMarek
-authorImageURL: https://github.com/kasiaMarek.png
---
-In the upcoming version of metals we will add support for [LSP workspace folders](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_workspaceFolders). This feature allows you to load multiple Scala projects/modules into the same workspace without the need to switch between multiple windows.
+In the upcoming version of metals we will add support for
+[LSP workspace folders](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_workspaceFolders).
+This feature allows you to load multiple Scala projects/modules into the same
+workspace without the need to switch between multiple windows.
## The new multi-root approach
-Before this feature metals would only support a single project treating a workspace root folder as the root of the project. The workspace root was established based on the `rootUri` field of [`InitializeParams`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initializeParams) sent by the client upon initialization.
+Before this feature metals would only support a single project treating a
+workspace root folder as the root of the project. The workspace root was
+established based on the `rootUri` field of
+[`InitializeParams`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initializeParams)
+sent by the client upon initialization.
-Now a single metals instance can accommodate several projects (or multiple roots of a project) at the time. In `InitializeParams` metals first looks for projects' roots under `workspaceFolders` in `InitializeParams` and if empty we still fallback to the `rootUri`. Loaded projects can be changed dynamically though `didChangeWorkspaceFolders` notifications, which allow the client (editor) to inform metals about any added or removed projects.
+Now a single metals instance can accommodate several projects (or multiple roots
+of a project) at the time. In `InitializeParams` metals first looks for
+projects' roots under `workspaceFolders` in `InitializeParams` and if empty we
+still fallback to the `rootUri`. Loaded projects can be changed dynamically
+though `didChangeWorkspaceFolders` notifications, which allow the client
+(editor) to inform metals about any added or removed projects.
-All workspace folders are handled in metals separately and are oblivious of each other.
-E.g. for the following multi project structure
+All workspace folders are handled in metals separately and are oblivious of each
+other. E.g. for the following multi project structure
```
project1
@@ -28,29 +38,48 @@ project2
|- Main.scala
```
-we will keep two separate entities: one responsible for `project1`, and another one for `project2`.
-Upon receiving most requests metals will redirect them to the entity responsible for the project of interest. If there are no other clues the project is chosen based on the currently opened file. E.g. if the user wants to insert an inferred type in the file `../project1/src/Main`, the request received by Metals will be redirected to the entity responsible for `project1`.
-
-For some requests we collect information from all the projects and send a joint result, e.g. when searching for workspace symbols.
+we will keep two separate entities: one responsible for `project1`, and another
+one for `project2`. Upon receiving most requests metals will redirect them to
+the entity responsible for the project of interest. If there are no other clues
+the project is chosen based on the currently opened file. E.g. if the user wants
+to insert an inferred type in the file `../project1/src/Main`, the request
+received by Metals will be redirected to the entity responsible for `project1`.
+For some requests we collect information from all the projects and send a joint
+result, e.g. when searching for workspace symbols.
## How do I use the multi-root feature?
### VSCode
-In VSCode workspace folder support is achieved by [multi-root workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces). To load multiple projects into a single workspace you can simply open one of the projects and add the other one using `File > Add Folder to Workspace` and then choosing the correct folder.
+In VSCode workspace folder support is achieved by
+[multi-root workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces).
+To load multiple projects into a single workspace you can simply open one of the
+projects and add the other one using `File > Add Folder to Workspace` and then
+choosing the correct folder.
![add-workspace-folder](https://i.imgur.com/LTYrx9V.gif)
-Now you have two projects loaded side by side, so you can easily see both and switch between them. All of the current metals functionality accommodates multiple projects, so you can use metals the same way as you did before. The biggest changes will be visible in the places where information from the whole workspace is collected, like workspace symbol search, test explorer, or metals doctor.
+Now you have two projects loaded side by side, so you can easily see both and
+switch between them. All of the current metals functionality accommodates
+multiple projects, so you can use metals the same way as you did before. The
+biggest changes will be visible in the places where information from the whole
+workspace is collected, like workspace symbol search, test explorer, or metals
+doctor.
![multi-root-tests](https://i.imgur.com/zWmmsC2.gif)
-The target project for a command is usually chosen based on the currently opened file. E.g. if you run `Switch build server` the command it will be executed for the project in focus. If no project is in focus the editor will explicitly ask for which project the command should be executed.
+The target project for a command is usually chosen based on the currently opened
+file. E.g. if you run `Switch build server` the command it will be executed for
+the project in focus. If no project is in focus the editor will explicitly ask
+for which project the command should be executed.
![target-folder](https://i.imgur.com/tV7K822.gif)
-Finally, logs can still be found in the `.metals/metals.log` in the root of each project. Note, that for the time being all information is logged to all opened workspace folders, so anything logged for `project1` will also be visible in logs for `project2`.
+Finally, logs can still be found in the `.metals/metals.log` in the root of each
+project. Note, that for the time being all information is logged to all opened
+workspace folders, so anything logged for `project1` will also be visible in
+logs for `project2`.
### nvim-metals (_section written by [ckipp01](https://github.com/ckipp01)_)
@@ -59,7 +88,8 @@ Since the idea of a workspace is a bit "artificial" with Neovim, you can really
just add any new root to have a multi-root workspace. All you'll need to do is
navigate to a file at the root level of the workspace you'd like to add, and use
the
-[`vim.lsp.buf.add_workspace_folder()`](https://neovim.io/doc/user/lsp.html#vim.lsp.buf.add_workspace_folder()) function to add the folder containing the file you're in as another root.
+[`vim.lsp.buf.add_workspace_folder()`](https://neovim.io/doc/user/lsp.html#vim.lsp.buf.add_workspace_folder())
+function to add the folder containing the file you're in as another root.
![add_workspace_folder](https://i.imgur.com/E8iriR9.gif)
@@ -82,13 +112,22 @@ now show results from all the added workspaces.
## Changes for the clients
-Since workspace folders are a part of the LSP for any client implementing this capability the multi-root support should work out of the box, however, there will be a few minor changes to needed accommodate the new approach.
+Since workspace folders are a part of the LSP for any client implementing this
+capability the multi-root support should work out of the box, however, there
+will be a few minor changes to needed accommodate the new approach.
-1. The metals doctor result json format will change to contain a list of diagnostics for each workspace folder. Current format can be found in the description of `RunDoctor` command (visible in `ClientCommands.scala` in `metals` repo).
-2. For test explorer users `BuildTargetUpdate` will also now contain information about the target folder.
+1. The metals doctor result json format will change to contain a list of
+ diagnostics for each workspace folder. Current format can be found in the
+ description of `RunDoctor` command (visible in `ClientCommands.scala` in
+ `metals` repo).
+2. For test explorer users `BuildTargetUpdate` will also now contain information
+ about the target folder.
## Quick summary
-Metals now supports the [LSP workspace folders](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_workspaceFolders), which in VSCode are implemented by [multi-root workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces).
+Metals now supports the
+[LSP workspace folders](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_workspaceFolders),
+which in VSCode are implemented by
+[multi-root workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces).
If you haven't yet make sure to try out our new multi-root support!
diff --git a/website/blog/2023-07-19-silver.md b/website/blog/2023-07-19-silver.md
index cff0dfd1bdd..7df68febf1e 100644
--- a/website/blog/2023-07-19-silver.md
+++ b/website/blog/2023-07-19-silver.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.0.0 - Silver
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of of Metals v1.0.0, which was a long time
@@ -238,8 +236,8 @@ even more warnings. For more information about the release take a look at
[jkciesluk](https://github.com/jkciesluk)
- bugfix: Show hover when cursor is right after symbol
[jkciesluk](https://github.com/jkciesluk)
-- improvement: Provide extension method code completions when typing
- `xxx.@@`[Mee-Tree](https://github.com/Mee-Tree)
+- improvement: Provide extension method code completions when typing `xxx.@@`
+ [Mee-Tree](https://github.com/Mee-Tree)
- bugfix: properly index all toplevel given
([kasiaMarek](https://github.com/kasiaMarek))
- bugfix: Argument completions for case class in apply calls
diff --git a/website/blog/2023-08-28-silver.md b/website/blog/2023-08-28-silver.md
index af624e4163c..2e06dddcc91 100644
--- a/website/blog/2023-08-28-silver.md
+++ b/website/blog/2023-08-28-silver.md
@@ -1,12 +1,10 @@
---
-author: Jakub Ciesluk
+authors: jkciesluk
title: Metals v1.0.1 - Silver
-authorURL: https://github.com/jkciesluk
-authorImageURL: https://github.com/jkciesluk.png
---
-We're happy to announce the release of Metals v1.0.1, which comes with
-a couple of exciting new features and stability improvements.
+We're happy to announce the release of Metals v1.0.1, which comes with a couple
+of exciting new features and stability improvements.
@@ -37,17 +35,15 @@ For full details: [https://github.com/scalameta/metals/milestone/59?closed=1]
(https://github.com/scalameta/metals/milestone/59?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from [Lunatech](https://lunatech.com) along with contributors from
-the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from
+[Lunatech](https://lunatech.com) along with contributors from the community.
## TL;DR
Check out [https://scalameta.org/metals/](https://scalameta.org/metals/), and
give Metals a try!
-
- [Completions in java files](#completions-in-java-files)
- [Liveness monitor](#liveness-monitor)
- [Improvements for enums](#improvements-for-enums)
@@ -55,20 +51,21 @@ give Metals a try!
- [Miscellaneous](#miscellaneous)
- [Plugin authors](#plugin-authors)
-
## Completions in Java files
-Thanks to amazing work done by [VankaTaganai](https://github.com/VankaTaganai) and further improvements by [tgodzik](https://github.com/tgodzik),
-you will be able to get completions in Java files. It should make
-working with Java sources easier, though Metals will not strive to be a full Java language server.
+Thanks to amazing work done by [VankaTaganai](https://github.com/VankaTaganai)
+and further improvements by [tgodzik](https://github.com/tgodzik), you will be
+able to get completions in Java files. It should make working with Java sources
+easier, though Metals will not strive to be a full Java language server.
![java-completion](https://i.imgur.com/wLlh7ig.gif)
## Liveness monitor
-Up to the current release, users would not be informed if something happened
-and the build server stopped responding. Thanks to [kasiaMarek](https://github.com/kasiaMarek) Metals will now monitor the state
-of the build server and notify the user if it becomes unresponsive.
+Up to the current release, users would not be informed if something happened and
+the build server stopped responding. Thanks to
+[kasiaMarek](https://github.com/kasiaMarek) Metals will now monitor the state of
+the build server and notify the user if it becomes unresponsive.
![not-responsive](https://imgur.com/R2T5x3t.png)
@@ -76,7 +73,7 @@ Dismissing the notification will dismiss it for the current connection.
## Improvements for enums
-This release also brings in multiple fixes connected to enums:
+This release also brings in multiple fixes connected to enums:
- better highlighting on enum cases
- improved navigation on enum parameters
@@ -88,18 +85,24 @@ This great work was done by [kasiaMarek](https://github.com/kasiaMarek)
## Semantic highlighting
-Semantic highlighting enables syntax highlighting based on knowledge from the compiler.
-Thanks to this, users can have specific colors for parameters, methods, mutable `var`s, packages etc.
-For the last half year, semantic highlighting was hidden behind a flag, but now we think it's ready
-to be turned on by default. You can always change this using `metals.enableSemanticHighlighting` setting.
-Some editors also require enabling this feature in other places.
-In VS Code, you also need to set `editor.semanticHighlighting.enabled` to `true`.
+Semantic highlighting enables syntax highlighting based on knowledge from the
+compiler. Thanks to this, users can have specific colors for parameters,
+methods, mutable `var`s, packages etc. For the last half year, semantic
+highlighting was hidden behind a flag, but now we think it's ready to be turned
+on by default. You can always change this using
+`metals.enableSemanticHighlighting` setting. Some editors also require enabling
+this feature in other places. In VS Code, you also need to set
+`editor.semanticHighlighting.enabled` to `true`.
-More details can be found [here](https://scalameta.org/metals/blog/2023/03/02/aluminium#introduce-support-for-semantic-tokens).
+More details can be found
+[here](https://scalameta.org/metals/blog/2023/03/02/aluminium#introduce-support-for-semantic-tokens).
## Plugin authors
-Fixing the display of encoded test names for JUnit [here](https://github.com/scalameta/metals/pull/5485) required changes in the extension API. This should not break anything, but you might want to adjust to display nicer test names.
+Fixing the display of encoded test names for JUnit
+[here](https://github.com/scalameta/metals/pull/5485) required changes in the
+extension API. This should not break anything, but you might want to adjust to
+display nicer test names.
## Miscellaneous
@@ -119,8 +122,7 @@ Fixing the display of encoded test names for JUnit [here](https://github.com/sca
([jkciesluk](https://github.com/jkciesluk))
- bugfix: suggest correct arg name completions for lambda expressions
([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: don't decode nor encode URIs
- ([adpi2](https://github.com/adpi2))
+- bugfix: don't decode nor encode URIs ([adpi2](https://github.com/adpi2))
- feature: Add hover on class,object,type def in Scala 2
([jkciesluk](https://github.com/jkciesluk))
- bugfix: Don't report tokenizer errors as stale
@@ -131,7 +133,7 @@ Fixing the display of encoded test names for JUnit [here](https://github.com/sca
([rochala](https://github.com/rochala))
- docs: Add info about the versioning strategy
([tgodzik](https://github.com/tgodzik))
-- bugfix: do not emit cases in pattern match as enum cases
+- bugfix: do not emit cases in pattern match as enum cases
([kasiaMarek](https://github.com/kasiaMarek))
- bugfix: accommodate junit encoded test names
([kasiaMarek](https://github.com/kasiaMarek))
@@ -241,8 +243,8 @@ $ git shortlog -sn --no-merges v1.0.0..v1.0.1
- build(deps): Update xnio-nio from 3.8.9.Final to 3.8.10.Final
[\#5564](https://github.com/scalameta/metals/pull/5564)
([scalameta-bot](https://github.com/scalameta-bot))
-- bugfix: don't show build server not responding error just after coming out of idle
- [\#5537](https://github.com/scalameta/metals/pull/5537)
+- bugfix: don't show build server not responding error just after coming out of
+ idle [\#5537](https://github.com/scalameta/metals/pull/5537)
([kasiaMarek](https://github.com/kasiaMarek))
- fix: Go to definition for named constructor params
[\#5541](https://github.com/scalameta/metals/pull/5541)
@@ -310,7 +312,7 @@ $ git shortlog -sn --no-merges v1.0.0..v1.0.1
- bugfix: Fix issues with select in debugger completions
[\#5526](https://github.com/scalameta/metals/pull/5526)
([tgodzik](https://github.com/tgodzik))
-- bugfix: do not emit cases in pattern match as enum cases
+- bugfix: do not emit cases in pattern match as enum cases
[\#5520](https://github.com/scalameta/metals/pull/5520)
([kasiaMarek](https://github.com/kasiaMarek))
- bugfix: emit type for enum cases when needed
@@ -376,8 +378,7 @@ $ git shortlog -sn --no-merges v1.0.0..v1.0.1
- bugfix: Bump scalatest to fix zip issue
[\#5495](https://github.com/scalameta/metals/pull/5495)
([tgodzik](https://github.com/tgodzik))
-- Add java completion
- [\#5314](https://github.com/scalameta/metals/pull/5314)
+- Add java completion [\#5314](https://github.com/scalameta/metals/pull/5314)
([VankaTaganai](https://github.com/VankaTaganai))
- bugfix: hover on nested selectable
[\#5493](https://github.com/scalameta/metals/pull/5493)
diff --git a/website/blog/2023-10-17-silver.md b/website/blog/2023-10-17-silver.md
index 6e8a5da414f..1be9ecfcdba 100644
--- a/website/blog/2023-10-17-silver.md
+++ b/website/blog/2023-10-17-silver.md
@@ -1,10 +1,11 @@
---
-author: Katarzyna Marek
+authors: kmarek
title: Metals v1.1.0 - Silver
-authorImageURL: https://github.com/kasiaMarek.png
---
-We're happy to announce the release of Metals v1.1.0, which brings stability fixes and takes another step towards bettering error detection and error reporting.
+We're happy to announce the release of Metals v1.1.0, which brings stability
+fixes and takes another step towards bettering error detection and error
+reporting.
@@ -31,12 +32,13 @@ We're happy to announce the release of Metals v1.1.0, which brings stability fix
-For full details: [https://github.com/scalameta/metals/milestone/60?closed=1](https://github.com/scalameta/metals/milestone/60?closed=1)
+For full details:
+[https://github.com/scalameta/metals/milestone/60?closed=1](https://github.com/scalameta/metals/milestone/60?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from contributors from the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from contributors from the
+community.
## TL;DR
@@ -53,43 +55,61 @@ give Metals a try!
- [Changes for plugin authors](#changes-for-plugin-authors)
## New Scala versions support
+
#### Support for Scala 3.3.1
-Scala 3.3.1 is a new version of the Scala 3 LTS and it adds support for JDK 16 records in Java sources.
+Scala 3.3.1 is a new version of the Scala 3 LTS and it adds support for JDK 16
+records in Java sources.
For more information about the release take a look at
https://github.com/lampepfl/dotty/releases/tag/3.3.1
#### Support for Scala 2.13.12
-The main improvement of Scala 2.13.12 are actionable diagnostics. They are compiler suggested fixes for some errors and warnings. Actionable diagnostics are available in metals as code actions coming directly from the compiler.
+The main improvement of Scala 2.13.12 are actionable diagnostics. They are
+compiler suggested fixes for some errors and warnings. Actionable diagnostics
+are available in metals as code actions coming directly from the compiler.
For more information about the release take a look at
https://github.com/scala/scala/releases/tag/v2.13.12
## Build server connection status
-Since the previous release metals detects and reports when the build server stops responding. Over the last months this feature was stabilized and the information about the build server connection is now visible in the status bar. For clients that don't support this status bar yet, the error message will be displayed as before.
+Since the previous release metals detects and reports when the build server
+stops responding. Over the last months this feature was stabilized and the
+information about the build server connection is now visible in the status bar.
+For clients that don't support this status bar yet, the error message will be
+displayed as before.
![bsp-status-conn](https://user-images.githubusercontent.com/26606662/274277861-de46ff62-db71-4990-ba1d-bfaaadf03499.png)
-*Build server connection status in VSCode, when metals is successfully connected to `sbt` build server.*
+_Build server connection status in VSCode, when metals is successfully connected
+to `sbt` build server._
-If you are a maintainer of a metals' client and want to know how to add support for build server status see [Changes for clients](#changes-for-clients).
+If you are a maintainer of a metals' client and want to know how to add support
+for build server status see [Changes for clients](#changes-for-clients).
## Enable run code lens for Mill build server
-Thanks to [Tomasz Godzik](https://github.com/tgodzik) now we have run code lens when using Mill build server. As a reminder, it's possible to start using it by running `Metals: Switch build server` command for a Mill project.
+
+Thanks to [Tomasz Godzik](https://github.com/tgodzik) now we have run code lens
+when using Mill build server. As a reminder, it's possible to start using it by
+running `Metals: Switch build server` command for a Mill project.
![mill-run-lens](https://i.imgur.com/5drObNP.gif)
## Convert single line comments to multiline
-Thanks to [Kasper Kondzielski](https://github.com/ghostbuster91) we have a new code action that converts a block of single line comments into a multiline comment.
+Thanks to [Kasper Kondzielski](https://github.com/ghostbuster91) we have a new
+code action that converts a block of single line comments into a multiline
+comment.
![convert-to-multiline](https://i.imgur.com/tu3B25s.gif)
## Detect project root
-Sometimes your Scala project root is not in the same folder that you open your editor in. Now metals will also detect the Scala project root when it is a child of the workspace/workspace folder root.
+Sometimes your Scala project root is not in the same folder that you open your
+editor in. Now metals will also detect the Scala project root when it is a child
+of the workspace/workspace folder root.
+
```
. *workspace root*
├── scalaProject *detected project root*
@@ -103,73 +123,120 @@ Sometimes your Scala project root is not in the same folder that you open your e
├── .gitignore
└── ...
```
+
## Error reports in metals doctor
-Error reports are now visible in the metals doctor to help users diagnose the cause of any potential issue. Previously, they would only exist in the `.metals/.reports` folder.
+
+Error reports are now visible in the metals doctor to help users diagnose the
+cause of any potential issue. Previously, they would only exist in the
+`.metals/.reports` folder.
![show-error-reports](https://user-images.githubusercontent.com/26606662/270966990-86cbd199-8621-4d04-a4ae-41f4bb598668.gif)
## Show bloop errors
-Before this release Bloop build server errors would only be logged silently into `metals.log` and the Metals output. Now for the sake of visibility Bloop errors are also shown to the users in form of error messages. The message can be dismissed for the current session of Metals or you can turn off all messages in a workspace.
+Before this release Bloop build server errors would only be logged silently into
+`metals.log` and the Metals output. Now for the sake of visibility Bloop errors
+are also shown to the users in form of error messages. The message can be
+dismissed for the current session of Metals or you can turn off all messages in
+a workspace.
## Changes for plugin authors
#### Build server status
-We added `bspStatusBarProvider` field to initialization parameters. Similarly to `statusBarProvider` it can have one of the following values: `"on"`, `"off"`, `"log-message"`, `"show-message"` (default).
+We added `bspStatusBarProvider` field to initialization parameters. Similarly to
+`statusBarProvider` it can have one of the following values: `"on"`, `"off"`,
+`"log-message"`, `"show-message"` (default).
-When `bspStatusBarProvider` is set to `"on"`, the build server status is send via `metals/status` with new field `"statusType"` set to `"bsp"`.
+When `bspStatusBarProvider` is set to `"on"`, the build server status is send
+via `metals/status` with new field `"statusType"` set to `"bsp"`.
New fields in `MetalsStatusParams`:
+
- `statusType`
- `"bsp"` for build server status
- `"metals"` for metals status (default)
-- `level` - severity level of the message, possible values: `"info"`, `"warn"`, `"error"`
-- `commandTooltip` - command tooltip, which can be appended to the status tooltip if the status bar supports commands
+- `level` - severity level of the message, possible values: `"info"`, `"warn"`,
+ `"error"`
+- `commandTooltip` - command tooltip, which can be appended to the status
+ tooltip if the status bar supports commands
-For more details refer to the [PR](https://github.com/scalameta/metals/pull/5660).
+For more details refer to the
+[PR](https://github.com/scalameta/metals/pull/5660).
#### Doctor results v5
-New `errorReports` field in `DoctorFolderResults` containing an array of `ErrorReportInfo`, which has the following fields:
+New `errorReports` field in `DoctorFolderResults` containing an array of
+`ErrorReportInfo`, which has the following fields:
+
- `name` string - display name of the error,
- `timestamp` long - timestamp of the report creation date,
- `uri` string - error report file uri,
-- `buildTarget` nullable string - optional build target that the error is associated with,
+- `buildTarget` nullable string - optional build target that the error is
+ associated with,
- `shortSummary` string - short error summary,
-- `errorReportType` string - one of "metals", "metals-full", "bloop".
-For more details refer to the [PR](https://github.com/scalameta/metals/pull/5683).
+- `errorReportType` string - one of "metals", "metals-full", "bloop". For more
+ details refer to the [PR](https://github.com/scalameta/metals/pull/5683).
## Miscellaneous
-- bugfix: incorrect docstring completions when not directly over definition ([jkciesluk](https://github.com/jkciesluk))
-- bugfix: don't use cache directory when incorrectly resolved path ([tgodzik](https://github.com/tgodzik))
-- bugfix: skip empty lines when calculating indentation for auto import ([kasiaMarek](https://github.com/kasiaMarek))
-- improvement: update ranges on Scala CLI actionable diagnostics for files with non-saved changes ([LaurenceWarne](https://github.com/LaurenceWarne))
-- bugfix: correctly choose the folder to use for a command ([tgodzik](https://github.com/tgodzik))
-- bugfix: extract member with associated comments ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: handle EOF in java completions ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: workaround for missing span in reference to an extension method defined in the companion object ([kasiaMarek](https://github.com/kasiaMarek))
-- improvement: automatically calculate last supported versions for semanticdb ([tgodzik](https://github.com/tgodzik))
-- bugfix: escape special chars in test names ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: add `moduleClass` imported symbols in `IndexedContext` (fix for insert type annotation) ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: fix resolving main class/ test suite for multi-root projects ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: wait longer to connect to build tools other than Bloop ([tgodzik](https://github.com/tgodzik))
-- improvement: don't create service for folders with non-Scala projects ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: semantic tokens for multiline strings in Scala3 worksheets ([jkciesluk](https://github.com/jkciesluk))
-- bugfix: incorrect docstring on parameters ([jkciesluk](https://github.com/jkciesluk))
+
+- bugfix: incorrect docstring completions when not directly over definition
+ ([jkciesluk](https://github.com/jkciesluk))
+- bugfix: don't use cache directory when incorrectly resolved path
+ ([tgodzik](https://github.com/tgodzik))
+- bugfix: skip empty lines when calculating indentation for auto import
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- improvement: update ranges on Scala CLI actionable diagnostics for files with
+ non-saved changes ([LaurenceWarne](https://github.com/LaurenceWarne))
+- bugfix: correctly choose the folder to use for a command
+ ([tgodzik](https://github.com/tgodzik))
+- bugfix: extract member with associated comments
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: handle EOF in java completions
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: workaround for missing span in reference to an extension method
+ defined in the companion object ([kasiaMarek](https://github.com/kasiaMarek))
+- improvement: automatically calculate last supported versions for semanticdb
+ ([tgodzik](https://github.com/tgodzik))
+- bugfix: escape special chars in test names
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: add `moduleClass` imported symbols in `IndexedContext` (fix for insert
+ type annotation) ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: fix resolving main class/ test suite for multi-root projects
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: wait longer to connect to build tools other than Bloop
+ ([tgodzik](https://github.com/tgodzik))
+- improvement: don't create service for folders with non-Scala projects
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: semantic tokens for multiline strings in Scala3 worksheets
+ ([jkciesluk](https://github.com/jkciesluk))
+- bugfix: incorrect docstring on parameters
+ ([jkciesluk](https://github.com/jkciesluk))
- improvement: trim hover body ([kasiaMarek](https://github.com/kasiaMarek))
-- feature: user configuration per workspace folder ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: named args completions with default values ([jkciesluk](https://github.com/jkciesluk))
-- bugfix: exhaustive match on stale symbols ([jkciesluk](https://github.com/jkciesluk))
-- bugfix: fix docstring regex in semantic highlighting ([jkciesluk](https://github.com/jkciesluk))
-- improvement: add timeout to fix java version for sbt request ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: fix reporting "no response error" after laptop in sleep mode ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: match completions for type aliases in Scala 3 ([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: handle created build server config before all content written ([kasiaMarek](https://github.com/kasiaMarek))
-- improvement: only log mtgas resolve messages on resolution ([tgodzik](https://github.com/tgodzik))
-- bugfix: dependency completions with double colon before version (using directives) ([jkciesluk](https://github.com/jkciesluk))
-- bugfix: semantic highlighting in worksheets starting with an empty line ([jkciesluk](https://github.com/jkciesluk))
-- bugfix: don't read file for InteractiveSemanticdbdb if it doesn't exist ([tgodzik](https://github.com/tgodzik))
+- feature: user configuration per workspace folder
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: named args completions with default values
+ ([jkciesluk](https://github.com/jkciesluk))
+- bugfix: exhaustive match on stale symbols
+ ([jkciesluk](https://github.com/jkciesluk))
+- bugfix: fix docstring regex in semantic highlighting
+ ([jkciesluk](https://github.com/jkciesluk))
+- improvement: add timeout to fix java version for sbt request
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: fix reporting "no response error" after laptop in sleep mode
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: match completions for type aliases in Scala 3
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- bugfix: handle created build server config before all content written
+ ([kasiaMarek](https://github.com/kasiaMarek))
+- improvement: only log mtgas resolve messages on resolution
+ ([tgodzik](https://github.com/tgodzik))
+- bugfix: dependency completions with double colon before version (using
+ directives) ([jkciesluk](https://github.com/jkciesluk))
+- bugfix: semantic highlighting in worksheets starting with an empty line
+ ([jkciesluk](https://github.com/jkciesluk))
+- bugfix: don't read file for InteractiveSemanticdbdb if it doesn't exist
+ ([tgodzik](https://github.com/tgodzik))
## Contributors
@@ -272,11 +339,11 @@ $ git shortlog -sn --no-merges v1.0.1..v1.1.0
- bugfix: Try to fix Mill flaky test
[\#5661](https://github.com/scalameta/metals/pull/5661)
([tgodzik](https://github.com/tgodzik))
-- bugfix: Fix completions tests after a new artifact starting with io.circ showed up
- [\#5723](https://github.com/scalameta/metals/pull/5723)
+- bugfix: Fix completions tests after a new artifact starting with io.circ
+ showed up [\#5723](https://github.com/scalameta/metals/pull/5723)
([tgodzik](https://github.com/tgodzik))
-- build(deps): Update ammonite-util from 3.0.0-M0-55-8ef21714 to 3.0.0-M0-56-1bcbe7f6
- [\#5721](https://github.com/scalameta/metals/pull/5721)
+- build(deps): Update ammonite-util from 3.0.0-M0-55-8ef21714 to
+ 3.0.0-M0-56-1bcbe7f6 [\#5721](https://github.com/scalameta/metals/pull/5721)
([scalameta-bot](https://github.com/scalameta-bot))
- build(deps): Update protobuf-java from 3.24.3 to 3.24.4
[\#5720](https://github.com/scalameta/metals/pull/5720)
@@ -302,13 +369,13 @@ $ git shortlog -sn --no-merges v1.0.1..v1.1.0
- improvement: trim hover body
[\#5694](https://github.com/scalameta/metals/pull/5694)
([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: Incorrect docstring on parameters
+- bugfix: Incorrect docstring on parameters
[\#5656](https://github.com/scalameta/metals/pull/5656)
([jkciesluk](https://github.com/jkciesluk))
- chore: Update ammonite to the newest snaphot
[\#5697](https://github.com/scalameta/metals/pull/5697)
([tgodzik](https://github.com/tgodzik))
-- bugfix: Semantic tokens for multiline strings in Scala3 worksheets
+- bugfix: Semantic tokens for multiline strings in Scala3 worksheets
[\#5691](https://github.com/scalameta/metals/pull/5691)
([jkciesluk](https://github.com/jkciesluk))
- improvement: don't create service for folders w/ non-Scala projects
@@ -323,14 +390,14 @@ $ git shortlog -sn --no-merges v1.0.1..v1.1.0
- chore: add debug logs to server liveness monitor
[\#5693](https://github.com/scalameta/metals/pull/5693)
([kasiaMarek](https://github.com/kasiaMarek))
-- build(deps): bump @docusaurus/plugin-client-redirects from 2.4.1 to 2.4.3 in /website
- [\#5703](https://github.com/scalameta/metals/pull/5703)
+- build(deps): bump @docusaurus/plugin-client-redirects from 2.4.1 to 2.4.3 in
+ /website [\#5703](https://github.com/scalameta/metals/pull/5703)
([dependabot[bot]](https://github.com/dependabot[bot]))
- build(deps): bump coursier/setup-action from 1.3.3 to 1.3.4
[\#5701](https://github.com/scalameta/metals/pull/5701)
([dependabot[bot]](https://github.com/dependabot[bot]))
-- build(deps): bump @easyops-cn/docusaurus-search-local from 0.35.0 to 0.36.0 in /website
- [\#5704](https://github.com/scalameta/metals/pull/5704)
+- build(deps): bump @easyops-cn/docusaurus-search-local from 0.35.0 to 0.36.0 in
+ /website [\#5704](https://github.com/scalameta/metals/pull/5704)
([dependabot[bot]](https://github.com/dependabot[bot]))
- build(deps): bump actions/checkout from 3 to 4
[\#5702](https://github.com/scalameta/metals/pull/5702)
@@ -371,8 +438,7 @@ $ git shortlog -sn --no-merges v1.0.1..v1.1.0
- improvement: Automatically calculate last supported versions for semanticdb
[\#5671](https://github.com/scalameta/metals/pull/5671)
([tgodzik](https://github.com/tgodzik))
-- chore: Fix nightly CI
- [\#5673](https://github.com/scalameta/metals/pull/5673)
+- chore: Fix nightly CI [\#5673](https://github.com/scalameta/metals/pull/5673)
([tgodzik](https://github.com/tgodzik))
- build(deps): Update coursier from 2.1.6 to 2.1.7
[\#5635](https://github.com/scalameta/metals/pull/5635)
@@ -383,7 +449,8 @@ $ git shortlog -sn --no-merges v1.0.1..v1.1.0
- improvement: auto detect project root
[\#5576](https://github.com/scalameta/metals/pull/5576)
([kasiaMarek](https://github.com/kasiaMarek))
-- bugfix: workaround for missing span in reference to an extension method defined in the companion object
+- bugfix: workaround for missing span in reference to an extension method
+ defined in the companion object
[\#5640](https://github.com/scalameta/metals/pull/5640)
([kasiaMarek](https://github.com/kasiaMarek))
- build(deps): Update flyway-core from 9.22.1 to 9.22.2
@@ -395,8 +462,7 @@ $ git shortlog -sn --no-merges v1.0.1..v1.1.0
- bugfix: deduplicate auto connect requests for scala-cli
[\#5645](https://github.com/scalameta/metals/pull/5645)
([kasiaMarek](https://github.com/kasiaMarek))
-- Bump swoval to v2.1.11
- [\#5659](https://github.com/scalameta/metals/pull/5659)
+- Bump swoval to v2.1.11 [\#5659](https://github.com/scalameta/metals/pull/5659)
([eatkins](https://github.com/eatkins))
- bugfix: handle EOF in java completions
[\#5644](https://github.com/scalameta/metals/pull/5644)
@@ -491,8 +557,8 @@ $ git shortlog -sn --no-merges v1.0.1..v1.1.0
- bugfix: Allow run in Mill BSP and remove non working test lenses
[\#5566](https://github.com/scalameta/metals/pull/5566)
([tgodzik](https://github.com/tgodzik))
-- bugfix: Release mtagsShared together with mtags when running single version release
- [\#5598](https://github.com/scalameta/metals/pull/5598)
+- bugfix: Release mtagsShared together with mtags when running single version
+ release [\#5598](https://github.com/scalameta/metals/pull/5598)
([tgodzik](https://github.com/tgodzik))
- improvement: show bsp errors to the user
[\#5267](https://github.com/scalameta/metals/pull/5267)
diff --git a/website/blog/2023-12-12-bismuth.md b/website/blog/2023-12-12-bismuth.md
index 63ec185a8fd..437ee69ff86 100644
--- a/website/blog/2023-12-12-bismuth.md
+++ b/website/blog/2023-12-12-bismuth.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.2.0 - Bismuth
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v1.2.0, which continues to improve
diff --git a/website/blog/2024-02-07-bismuth.md b/website/blog/2024-02-07-bismuth.md
index 1769a314e76..c4d8fc8207c 100644
--- a/website/blog/2024-02-07-bismuth.md
+++ b/website/blog/2024-02-07-bismuth.md
@@ -1,10 +1,10 @@
---
-author: Katarzyna Marek
+authors: kmarek
title: Metals v1.2.1 - Bismuth
-authorImageURL: https://github.com/kasiaMarek.png
---
-We're happy to announce the release of Metals v1.2.1, which brings an array of bugfixes and adds initial support for Bazel as a build tool.
+We're happy to announce the release of Metals v1.2.1, which brings an array of
+bugfixes and adds initial support for Bazel as a build tool.
@@ -31,39 +31,55 @@ We're happy to announce the release of Metals v1.2.1, which brings an array of b
-For full details: [https://github.com/scalameta/metals/milestone/63?closed=1](https://github.com/scalameta/metals/milestone/63?closed=1)
+For full details:
+[https://github.com/scalameta/metals/milestone/63?closed=1](https://github.com/scalameta/metals/milestone/63?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from contributors from the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from contributors from the
+community.
-Help us make Metals even better by informing us on any issues or missing features. It's as simple as creating a 🐛 [bug report](https://github.com/scalameta/metals/issues/new?assignees=&labels=&projects=&template=bug_report.yml) or a 🚀 [feature request](https://github.com/scalameta/metals-feature-requests/issues/new?assignees=&labels=&projects=&template=feature-request.yml) in the [Metals GitHub repository](https://github.com/scalameta/metals).
+Help us make Metals even better by informing us on any issues or missing
+features. It's as simple as creating a 🐛
+[bug report](https://github.com/scalameta/metals/issues/new?assignees=&labels=&projects=&template=bug_report.yml)
+or a 🚀
+[feature request](https://github.com/scalameta/metals-feature-requests/issues/new?assignees=&labels=&projects=&template=feature-request.yml)
+in the [Metals GitHub repository](https://github.com/scalameta/metals).
## TL;DR
Check out [https://scalameta.org/metals/](https://scalameta.org/metals/), and
give Metals a try!
-
- [Bazel support](#bazel-support)
- [Run for Native and JS platforms](#run-for-native-and-js-platforms)
- [Metals view for uncompiled changes](#metals-view-for-uncompiled-changes)
- [LSP Progress support](#lsp-progress-support)
## Bazel support
-This release brings support for using Bazel as a build tool with many features like completions and `go-to-definition` working out of the box. To have the features working also for dependencies, make sure to enable `fetch_sources` for library dependencies in Bazel definition.
-The initial work on Bazel support was started by [kpodsiad](https://github.com/kpodsiad), continued on by [tanishiking](https://github.com/tanishiking), and finally brought to completion by [jkciesluk](https://github.com/jkciesluk), with [tgodzik](https://github.com/tgodzik) contributing additional improvements to the area.
+This release brings support for using Bazel as a build tool with many features
+like completions and `go-to-definition` working out of the box. To have the
+features working also for dependencies, make sure to enable `fetch_sources` for
+library dependencies in Bazel definition.
+
+The initial work on Bazel support was started by
+[kpodsiad](https://github.com/kpodsiad), continued on by
+[tanishiking](https://github.com/tanishiking), and finally brought to completion
+by [jkciesluk](https://github.com/jkciesluk), with
+[tgodzik](https://github.com/tgodzik) contributing additional improvements to
+the area.
-![bazel completions](https://i.imgur.com/HGwKygN.gif)
-*Completions in a Bazel project.*
+![bazel completions](https://i.imgur.com/HGwKygN.gif) _Completions in a Bazel
+project._
-![bazel go to definitions](https://i.imgur.com/ELWMVfa.gif)
-*Hover and go to definition in a Bazel project.*
+![bazel go to definitions](https://i.imgur.com/ELWMVfa.gif) _Hover and go to
+definition in a Bazel project._
-You can get the slightly more advanced features working by enabling [SemanticDB](https://scalameta.org/docs/semanticdb/guide.html) in your project.
+You can get the slightly more advanced features working by enabling
+[SemanticDB](https://scalameta.org/docs/semanticdb/guide.html) in your project.
Simply add the following content to your build:
+
- in your `BUILD` file:
```Scala
@@ -90,69 +106,118 @@ Simply add the following content to your build:
"//:semanticdb_toolchain",
)
```
-![bazel add semanticdb](https://i.imgur.com/2mj9QLP.gif)
-*Adding SemanticDB to a Bazel project.*
-Enabling SemanticDB in your Bazel project will allow you to use such features as go to references.
+![bazel add semanticdb](https://i.imgur.com/2mj9QLP.gif) _Adding SemanticDB to a
+Bazel project._
+
+Enabling SemanticDB in your Bazel project will allow you to use such features as
+go to references.
-![bazel go to references](https://i.imgur.com/SwNQOIf.gif)
-*Go to references in a Bazel project.*
+![bazel go to references](https://i.imgur.com/SwNQOIf.gif) _Go to references in
+a Bazel project._
-You can read more about Metals current support for Bazel and setting it up in [documentation](https://scalameta.org/metals/docs/build-tools/bazel).
-Our Bazel support is still in the early stages but we'd love to get your feedback!
+You can read more about Metals current support for Bazel and setting it up in
+[documentation](https://scalameta.org/metals/docs/build-tools/bazel). Our Bazel
+support is still in the early stages but we'd love to get your feedback!
## Run for Native and JS platforms
-Thanks to [tgodzik](https://github.com/tgodzik), starting with this release you can run your code using `native` and `js` platforms straight from the editor. Just click on the `run` code lens or trigger debug run in any other way appropriate for your editor of choice.
-![run native](https://i.imgur.com/TTX3crM.gif)
-*Running a Scala Native program using code lenses.*
+Thanks to [tgodzik](https://github.com/tgodzik), starting with this release you
+can run your code using `native` and `js` platforms straight from the editor.
+Just click on the `run` code lens or trigger debug run in any other way
+appropriate for your editor of choice.
+
+![run native](https://i.imgur.com/TTX3crM.gif) _Running a Scala Native program
+using code lenses._
## Metals view for uncompiled changes
-In the previous release, metals view was enhanced and brought to Scala 3. You can read more about that [here](https://scalameta.org/metals/blog/2023/12/12/bismuth#base-metals-view-on-indexing-information). The feature was further improved by [tgodzik](https://github.com/tgodzik), and now the information about workspace symbols is updated as you write, instead of on compile as before.
-![tree view update](https://i.imgur.com/whEjhZ0.gif)
-*Tree view updating while typing.*
+In the previous release, metals view was enhanced and brought to Scala 3. You
+can read more about that
+[here](https://scalameta.org/metals/blog/2023/12/12/bismuth#base-metals-view-on-indexing-information).
+The feature was further improved by [tgodzik](https://github.com/tgodzik), and
+now the information about workspace symbols is updated as you write, instead of
+on compile as before.
+
+![tree view update](https://i.imgur.com/whEjhZ0.gif) _Tree view updating while
+typing._
## LSP Progress support
-For clients that do not support metals status, slow tasks notifications can now also be available via [LSP Progress](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#progress) thanks to work done by [keirlawson](https://github.com/keirlawson).
+
+For clients that do not support metals status, slow tasks notifications can now
+also be available via
+[LSP Progress](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#progress)
+thanks to work done by [keirlawson](https://github.com/keirlawson).
## Miscellaneous
-This release brings also many bug fixes and improvements. Check them out to know what has changed.
- - [Scala 3] bugfix: Don't show workspace completions for implicit classes members. [jkciesluk](https://github.com/jkciesluk)
- - bugfix: Pass proxy information to g8. [kasiaMarek](https://github.com/kasiaMarek)
- - bugfix: Fix go to definition for nested java jars. [kasiaMarek](https://github.com/kasiaMarek)
- - [Scala 3] improvement: Better labels for workspace methods completions. [jkciesluk](https://github.com/jkciesluk)
- - improvement: Discover sbt in path before fallbacking to launcher. [kasiaMarek](https://github.com/kasiaMarek)
- - improvement: Only save scala or java fingerprints. [tgodzik](https://github.com/tgodzik)
- - bugfix: Offer auto-import for new classes created via file provider. [kasiaMarek](https://github.com/kasiaMarek)
- - improvement: Add support for tests using weaver cats effects. [kasiaMarek](https://github.com/kasiaMarek)
- - bugfix: Show `run`/`debug` code lenses when file contains shebang header. [kasiaMarek](https://github.com/kasiaMarek)
- - bugfix: Make debug completions independent of the order of stackTrace being requested.
+This release brings also many bug fixes and improvements. Check them out to know
+what has changed.
+
+- [Scala 3] bugfix: Don't show workspace completions for implicit classes
+ members. [jkciesluk](https://github.com/jkciesluk)
+- bugfix: Pass proxy information to g8.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- bugfix: Fix go to definition for nested java jars.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- [Scala 3] improvement: Better labels for workspace methods completions.
+ [jkciesluk](https://github.com/jkciesluk)
+- improvement: Discover sbt in path before fallbacking to launcher.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: Only save scala or java fingerprints.
+ [tgodzik](https://github.com/tgodzik)
+- bugfix: Offer auto-import for new classes created via file provider.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: Add support for tests using weaver cats effects.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- bugfix: Show `run`/`debug` code lenses when file contains shebang header.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- bugfix: Make debug completions independent of the order of stackTrace being
+ requested. [mekpavit](https://github.com/mekpavit)
+- bugfix: Fix go to definition for toplevel definitions in files with `.` in the
+ name. [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: Add `case` keyword completion.
+ [jkciesluk](https://github.com/jkciesluk)
+- bugfix: Don't tokenize if the source hasn't changed.
+ [tgodzik](https://github.com/tgodzik)
+- bugfix: Handle missing line argument in debug completion request.
[mekpavit](https://github.com/mekpavit)
- - bugfix: Fix go to definition for toplevel definitions in files with `.` in the name. [kasiaMarek](https://github.com/kasiaMarek)
- - improvement: Add `case` keyword completion. [jkciesluk](https://github.com/jkciesluk)
- - bugfix: Don't tokenize if the source hasn't changed. [tgodzik](https://github.com/tgodzik)
- - bugfix: Handle missing line argument in debug completion request. [mekpavit](https://github.com/mekpavit)
- - feature: Cancel worksheet evaluations when canceling compilation. [ckipp01](https://github.com/ckipp01)
- - feature: Show import renames in hover. [kasiaMarek](https://github.com/kasiaMarek)
- - [Scala 2] bugfix: Document highlight in self type. [jkciesluk](https://github.com/jkciesluk)
- - improvement: Remove semantic tokens fallback. [jkciesluk](https://github.com/jkciesluk)
- - bugfix: Handle missing jar file in SetBreakpointRequest. [adpi2](https://github.com/adpi2)
- - bugfix: Don't show default argument values if type is Any. [tgodzik](https://github.com/tgodzik)
- - [Scala 3] bugfix: Don't show givens as completions from classpath search. [kasiaMarek](https://github.com/kasiaMarek)
- - [Scala 3] bugfix: Don't show scope completions inside multi-imports. [kasiaMarek](https://github.com/kasiaMarek)
- - improvement: Show workspace completions for short queries. [kasiaMarek](https://github.com/kasiaMarek)
- - improvement: Add atomic update on TrieMap. [jkciesluk](https://github.com/jkciesluk)
- - bugfix: Fix StacktraceAnalyser in case of empty package. [tgodzik](https://github.com/tgodzik)
- - [Scala 3] bugfix: Wrong span in extension methods in context functions. [jkciesluk](https://github.com/jkciesluk)
- - bugfix: Fix searching for implementations of an abstract type. [tgodzik](https://github.com/tgodzik)
- - bugfix: Fix java support (hover/completions) for symbols from dependencies. [tgodzik](https://github.com/tgodzik)
- - [Scala 3] improvement: Suggest workspace completions for implicit classes. [tgodzik](https://github.com/tgodzik)
- - bugfix: Extract method with empty lines. [kasiaMarek](https://github.com/kasiaMarek)
- - feature: Add option to run verbose compilation. [tgodzik](https://github.com/tgodzik)
- - improvement: Fetch missing dependency sources. [kasiaMarek](https://github.com/kasiaMarek)
-
+- feature: Cancel worksheet evaluations when canceling compilation.
+ [ckipp01](https://github.com/ckipp01)
+- feature: Show import renames in hover.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- [Scala 2] bugfix: Document highlight in self type.
+ [jkciesluk](https://github.com/jkciesluk)
+- improvement: Remove semantic tokens fallback.
+ [jkciesluk](https://github.com/jkciesluk)
+- bugfix: Handle missing jar file in SetBreakpointRequest.
+ [adpi2](https://github.com/adpi2)
+- bugfix: Don't show default argument values if type is Any.
+ [tgodzik](https://github.com/tgodzik)
+- [Scala 3] bugfix: Don't show givens as completions from classpath search.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- [Scala 3] bugfix: Don't show scope completions inside multi-imports.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: Show workspace completions for short queries.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: Add atomic update on TrieMap.
+ [jkciesluk](https://github.com/jkciesluk)
+- bugfix: Fix StacktraceAnalyser in case of empty package.
+ [tgodzik](https://github.com/tgodzik)
+- [Scala 3] bugfix: Wrong span in extension methods in context functions.
+ [jkciesluk](https://github.com/jkciesluk)
+- bugfix: Fix searching for implementations of an abstract type.
+ [tgodzik](https://github.com/tgodzik)
+- bugfix: Fix java support (hover/completions) for symbols from dependencies.
+ [tgodzik](https://github.com/tgodzik)
+- [Scala 3] improvement: Suggest workspace completions for implicit classes.
+ [tgodzik](https://github.com/tgodzik)
+- bugfix: Extract method with empty lines.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- feature: Add option to run verbose compilation.
+ [tgodzik](https://github.com/tgodzik)
+- improvement: Fetch missing dependency sources.
+ [kasiaMarek](https://github.com/kasiaMarek)
## Contributors
@@ -211,8 +276,8 @@ $ git shortlog -sn --no-merges v1.2.0..v1.2.1
- bugfix: handle nested java jars
[\#6066](https://github.com/scalameta/metals/pull/6066)
([kasiaMarek](https://github.com/kasiaMarek))
-- build(deps): bump @docusaurus/plugin-client-redirects from 3.0.1 to 3.1.1 in /website
- [\#6069](https://github.com/scalameta/metals/pull/6069)
+- build(deps): bump @docusaurus/plugin-client-redirects from 3.0.1 to 3.1.1 in
+ /website [\#6069](https://github.com/scalameta/metals/pull/6069)
([dependabot[bot]](https://github.com/dependabot[bot]))
- chore: Mark scala CLI script test as flaky
[\#6084](https://github.com/scalameta/metals/pull/6084)
@@ -379,8 +444,8 @@ $ git shortlog -sn --no-merges v1.2.0..v1.2.1
- feature: Add support for running Native and JS
[\#5197](https://github.com/scalameta/metals/pull/5197)
([tgodzik](https://github.com/tgodzik))
-- chore: Add more information about classpath and compiler options when severe error happens
- [\#5986](https://github.com/scalameta/metals/pull/5986)
+- chore: Add more information about classpath and compiler options when severe
+ error happens [\#5986](https://github.com/scalameta/metals/pull/5986)
([tgodzik](https://github.com/tgodzik))
- improvement: show workspace completions for short queries
[\#5956](https://github.com/scalameta/metals/pull/5956)
@@ -388,8 +453,8 @@ $ git shortlog -sn --no-merges v1.2.0..v1.2.1
- build(deps): bump actions/stale from 5 to 9
[\#5990](https://github.com/scalameta/metals/pull/5990)
([dependabot[bot]](https://github.com/dependabot[bot]))
-- build(deps): bump @easyops-cn/docusaurus-search-local from 0.38.1 to 0.40.1 in /website
- [\#5989](https://github.com/scalameta/metals/pull/5989)
+- build(deps): bump @easyops-cn/docusaurus-search-local from 0.38.1 to 0.40.1 in
+ /website [\#5989](https://github.com/scalameta/metals/pull/5989)
([dependabot[bot]](https://github.com/dependabot[bot]))
- improvement: add timeout to requests
[\#5452](https://github.com/scalameta/metals/pull/5452)
@@ -415,8 +480,8 @@ $ git shortlog -sn --no-merges v1.2.0..v1.2.1
- chore: Unignore tests after merging to Dotty
[\#5980](https://github.com/scalameta/metals/pull/5980)
([tgodzik](https://github.com/tgodzik))
-- bugfix: Don't show all classes when searching for implementations of abstract type
- [\#5969](https://github.com/scalameta/metals/pull/5969)
+- bugfix: Don't show all classes when searching for implementations of abstract
+ type [\#5969](https://github.com/scalameta/metals/pull/5969)
([tgodzik](https://github.com/tgodzik))
- build(deps): Update guava from 32.1.3-jre to 33.0.0-jre
[\#5973](https://github.com/scalameta/metals/pull/5973)
@@ -445,8 +510,7 @@ $ git shortlog -sn --no-merges v1.2.0..v1.2.1
- chore: Add support for Scala 3.3.2-RC1
[\#5958](https://github.com/scalameta/metals/pull/5958)
([tgodzik](https://github.com/tgodzik))
-- Update millw to 0.4.11
- [\#5954](https://github.com/scalameta/metals/pull/5954)
+- Update millw to 0.4.11 [\#5954](https://github.com/scalameta/metals/pull/5954)
([sake92](https://github.com/sake92))
- improvement: add custom bsp as possible build tool
[\#5791](https://github.com/scalameta/metals/pull/5791)
@@ -469,7 +533,7 @@ $ git shortlog -sn --no-merges v1.2.0..v1.2.1
- feature: Add option to run verbose compilation
[\#5937](https://github.com/scalameta/metals/pull/5937)
([tgodzik](https://github.com/tgodzik))
-- fix: close conn w/ db when checking if should update
+- fix: close conn w/ db when checking if should update
[\#5941](https://github.com/scalameta/metals/pull/5941)
([kasiaMarek](https://github.com/kasiaMarek))
- improvement: fetch missing dependency sources
diff --git a/website/blog/2024-02-15-bismuth.md b/website/blog/2024-02-15-bismuth.md
index 5934dac5dbf..5e0c0c57d48 100644
--- a/website/blog/2024-02-15-bismuth.md
+++ b/website/blog/2024-02-15-bismuth.md
@@ -1,11 +1,10 @@
---
-author: Jakub Ciesluk
+authors: jkciesluk
title: Metals v1.2.2 - Bismuth
-authorURL: https://github.com/jkciesluk
-authorImageURL: https://github.com/jkciesluk.png
---
-We're happy to announce the release of Metals v1.2.2, which fixes broken sbt builds on Windows.
+We're happy to announce the release of Metals v1.2.2, which fixes broken sbt
+builds on Windows.
@@ -28,12 +27,13 @@ We're happy to announce the release of Metals v1.2.2, which fixes broken sbt bui
-For full details: [https://github.com/scalameta/metals/milestone/64?closed=1](https://github.com/scalameta/metals/milestone/64?closed=1)
+For full details:
+[https://github.com/scalameta/metals/milestone/64?closed=1](https://github.com/scalameta/metals/milestone/64?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs and
-Sublime Text. Metals is developed at the
-[Scala Center](https://scala.epfl.ch/) and [VirtusLab](https://virtuslab.com)
-with the help from contributors from the community.
+Sublime Text. Metals is developed at the [Scala Center](https://scala.epfl.ch/)
+and [VirtusLab](https://virtuslab.com) with the help from contributors from the
+community.
## TL;DR
@@ -44,14 +44,19 @@ give Metals a try!
## Fix sbt builds on Windows
-Previous release unintentionally stopped some sbt projects on Windows from importing. In this release we revert the breaking changes.
+Previous release unintentionally stopped some sbt projects on Windows from
+importing. In this release we revert the breaking changes.
## Miscellaneous
-- bugfix: Deduplicate references results. [kasiaMarek](https://github.com/kasiaMarek)
-- bugfix: Don't rename package when it did not change. [kasiaMarek](https://github.com/kasiaMarek)
-- bugfix: properly resolve build targets for references search. [kasiaMarek](https://github.com/kasiaMarek)
-- bugfix: Allow Scala 2.11 to be run on newer JVMs. [tgodzik](https://github.com/tgodzik)
+- bugfix: Deduplicate references results.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- bugfix: Don't rename package when it did not change.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- bugfix: properly resolve build targets for references search.
+ [kasiaMarek](https://github.com/kasiaMarek)
+- bugfix: Allow Scala 2.11 to be run on newer JVMs.
+ [tgodzik](https://github.com/tgodzik)
## Contributors
@@ -97,6 +102,5 @@ $ git shortlog -sn --no-merges v1.2.1..v1.2.2
- bugfix: Allow Scala 2.11 to be run on newer JVMs
[\#6092](https://github.com/scalameta/metals/pull/6092)
([tgodzik](https://github.com/tgodzik))
-- release notes 1.2.1
- [\#6091](https://github.com/scalameta/metals/pull/6091)
+- release notes 1.2.1 [\#6091](https://github.com/scalameta/metals/pull/6091)
([kasiaMarek](https://github.com/kasiaMarek))
diff --git a/website/blog/2024-04-15-thalium.md b/website/blog/2024-04-15-thalium.md
index 3eecc1526e0..ffb599c27fe 100644
--- a/website/blog/2024-04-15-thalium.md
+++ b/website/blog/2024-04-15-thalium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.3.0 - Thallium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v1.3.0, which brings several big
diff --git a/website/blog/2024-05-16-thallium.md b/website/blog/2024-05-16-thallium.md
index c8657f278f3..f4e1223dce7 100644
--- a/website/blog/2024-05-16-thallium.md
+++ b/website/blog/2024-05-16-thallium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.3.1 - Thallium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v1.3.1, which brings in a couple
@@ -69,12 +67,12 @@ provide features that go outside the LSP standard. This also included
proper progress endpoint available. This is now used in Metals.
This means that editors that did not implement the `slow task` extension will
-now properly show the progress of tasks running within Metals. For anything
-that did implement it, there might be some visual changes. In Visual Studio Code
-the progress will be contained at the bottom in the status bar, which can be
-clicked on to see all current progress messages. Since, it will also contain all
-the current compilation, we removed `Ongoing compilations` section from the
-Metals view. This is possible thanks to the great work done by
+now properly show the progress of tasks running within Metals. For anything that
+did implement it, there might be some visual changes. In Visual Studio Code the
+progress will be contained at the bottom in the status bar, which can be clicked
+on to see all current progress messages. Since, it will also contain all the
+current compilation, we removed `Ongoing compilations` section from the Metals
+view. This is possible thanks to the great work done by
[kasiaMarek](https://github.com/kasiaMarek).
## No workspace support
diff --git a/website/blog/2024-06-19-thallium.md b/website/blog/2024-06-19-thallium.md
index c0b7b0a82b6..ec91c8abea7 100644
--- a/website/blog/2024-06-19-thallium.md
+++ b/website/blog/2024-06-19-thallium.md
@@ -1,10 +1,11 @@
---
-author: Katarzyna Marek
+authors: kmarek
title: Metals v1.3.2 - Thallium
-authorImageURL: https://github.com/kasiaMarek.png
---
-We're excited to announce the release of Metals v1.3.2. This new version not only addresses numerous bugs but also enhances the experience of working with code that does not compile.
+We're excited to announce the release of Metals v1.3.2. This new version not
+only addresses numerous bugs but also enhances the experience of working with
+code that does not compile.
@@ -31,7 +32,8 @@ We're excited to announce the release of Metals v1.3.2. This new version not onl
-For full details: [https://github.com/scalameta/metals/milestone/68?closed=1](https://github.com/scalameta/metals/milestone/68?closed=1)
+For full details:
+[https://github.com/scalameta/metals/milestone/68?closed=1](https://github.com/scalameta/metals/milestone/68?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs, Zed,
Helix and Sublime Text. Metals is developed at the
@@ -48,56 +50,101 @@ give Metals a try!
- [Allow to override debug server startup timeout](#allow-to-override-debug-server-startup-timeout)
## Outline compilation
-Metals relies on information produced during compilation for much of its functionality. This limits the usefulness of many Metals features when the code is broken either by providing outdated information or no information if the project was never successfully compiled.
-Starting with this release Metals will utilize [outline compilation](https://github.com/scala/scala/blob/d800253bbd4cf90d2cf863f1b284dac3561e7446/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala#L347) to get current information about not compiling files for Scala 2.12.x and 2.13.x. This should improve the experience of working with not compiling code.
+Metals relies on information produced during compilation for much of its
+functionality. This limits the usefulness of many Metals features when the code
+is broken either by providing outdated information or no information if the
+project was never successfully compiled.
-There are a few limitations to this improvement, the biggest being that the information from outline compilation will be only available within the same build target (module).
+Starting with this release Metals will utilize
+[outline compilation](https://github.com/scala/scala/blob/d800253bbd4cf90d2cf863f1b284dac3561e7446/src/compiler/scala/tools/nsc/settings/ScalaSettings.scala#L347)
+to get current information about not compiling files for Scala 2.12.x and
+2.13.x. This should improve the experience of working with not compiling code.
-Further work is being done on a similar approach for Scala 3, which should be available in one of the upcoming releases.
+There are a few limitations to this improvement, the biggest being that the
+information from outline compilation will be only available within the same
+build target (module).
-![broken-code](https://i.imgur.com/ZBwWGTK.gif)
-*Completions on not compiling code*
+Further work is being done on a similar approach for Scala 3, which should be
+available in one of the upcoming releases.
+
+![broken-code](https://i.imgur.com/ZBwWGTK.gif) _Completions on not compiling
+code_
## Use presentation compiler as fallback for references search
-Before this release Metals would always use information from SemanticDB to search for references. Since SemanticDB is produced during compilation it would fail to find references for code that didn't compile. Now if SemanticDB information is missing or outdated Metals will fallback to using presentation compiler for reference search for all the files this concerns.
-![uncompiled-go-to-ref](https://i.imgur.com/tI43rhl.gif)
-*Find references on non-compiling code*
+Before this release Metals would always use information from SemanticDB to
+search for references. Since SemanticDB is produced during compilation it would
+fail to find references for code that didn't compile. Now if SemanticDB
+information is missing or outdated Metals will fallback to using presentation
+compiler for reference search for all the files this concerns.
+
+![uncompiled-go-to-ref](https://i.imgur.com/tI43rhl.gif) _Find references on
+non-compiling code_
## Allow to override debug server startup timeout
-Until this release there was a fixed timeout for debug server startup time set to one minute. This proved to be insufficient for some larger projects and can now be overridden using a server property, e.g. `-Dmetals.debug-server-start-timeout=90` increases the timeout to 90 seconds.
-This is meant more as a temporary workaround, we also plan to work on decreasing the startup times, as this heavily impacts the user experience.
+Until this release there was a fixed timeout for debug server startup time set
+to one minute. This proved to be insufficient for some larger projects and can
+now be overridden using a server property, e.g.
+`-Dmetals.debug-server-start-timeout=90` increases the timeout to 90 seconds.
+
+This is meant more as a temporary workaround, we also plan to work on decreasing
+the startup times, as this heavily impacts the user experience.
## Miscellaneous
-- improvement: suggest scalafix config amend if `OrganizeImports.targetDialect = Scala3` missing for Scala 3 [kasiaMarek](https://github.com/kasiaMarek)
-- improvement: Show actual Scala versions supported by Metals in docs and when running `metals --versions` [tgodzik](https://github.com/tgodzik)
-- fix: Fix infinite indexing for broken sources [tgodzik](https://github.com/tgodzik)
-- fix: target jar classpath resolution for `mill-bsp` [kasiaMarek](https://github.com/kasiaMarek)
-- fix: use OS specific spelling for Path/PATH [mdelomba](https://github.com/mdelomba)
-- fix: search for gradle wrapper at project root [kasiaMarek](https://github.com/kasiaMarek)
-- fix: don't start mtags with full classpath [tgodzik](https://github.com/tgodzik)
-- fix: indexing for filenames with ``` [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: suggest scalafix config amend if
+ `OrganizeImports.targetDialect = Scala3` missing for Scala 3
+ [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: Show actual Scala versions supported by Metals in docs and when
+ running `metals --versions` [tgodzik](https://github.com/tgodzik)
+- fix: Fix infinite indexing for broken sources
+ [tgodzik](https://github.com/tgodzik)
+- fix: target jar classpath resolution for `mill-bsp`
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: use OS specific spelling for Path/PATH
+ [mdelomba](https://github.com/mdelomba)
+- fix: search for gradle wrapper at project root
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: don't start mtags with full classpath
+ [tgodzik](https://github.com/tgodzik)
+- fix: indexing for filenames with ```
+ [kasiaMarek](https://github.com/kasiaMarek)
- fix: infer correct build target for jars [tgodzik](https://github.com/tgodzik)
- fix: fix millw script [tgodzik](https://github.com/tgodzik)
-- fix: insert missing members in correct place for case classes [kasiaMarek](https://github.com/kasiaMarek)
-- fix: highlighting and completions for multiline strings in worksheets in Scala 3 [kasiaMarek](https://github.com/kasiaMarek)
-- feat: set unused tag for unused diagnostics [ghostbuster91](https://github.com/ghostbuster91)
-- fix: account for additional parenthesis around args in convert to named args [kasiaMarek](https://github.com/kasiaMarek)
-- improvement: don't run additional compilation on find references [kasiaMarek](https://github.com/kasiaMarek)
-- fix: indexing when java files contain `#include` header [kasiaMarek](https://github.com/kasiaMarek)
-- fix: correctly auto import when there is a renamed symbol with the same name in scope [kasiaMarek](https://github.com/kasiaMarek)
-- fix: handle implicit params in extract method [kasiaMarek](https://github.com/kasiaMarek)
-- fix: don't show implicit conversion for implicit params [kasiaMarek](https://github.com/kasiaMarek)
-- fix: resolve correctly project refs for sbt [kasiaMarek](https://github.com/kasiaMarek)
-- improvement: make sure we always have correct projectview file for Bazel [tgodzik](https://github.com/tgodzik)
-- fix: convert block args to named args when in parenthesis [kasiaMarek](https://github.com/kasiaMarek)
-- fix: auto import for class names with long packages [kasiaMarek](https://github.com/kasiaMarek)
-- fix: don't create `semanticdb` next to user sources for single files [kasiaMarek](https://github.com/kasiaMarek)
-- fix: don't override `JAVA_HOME` if it already exists for Bazel to avoid unnecessary restarts
-- improvement: recreate classloader if scalafix classloading fails. [tgodzik](https://github.com/tgodzik)
+- fix: insert missing members in correct place for case classes
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: highlighting and completions for multiline strings in worksheets in Scala
+ 3 [kasiaMarek](https://github.com/kasiaMarek)
+- feat: set unused tag for unused diagnostics
+ [ghostbuster91](https://github.com/ghostbuster91)
+- fix: account for additional parenthesis around args in convert to named args
+ [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: don't run additional compilation on find references
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: indexing when java files contain `#include` header
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: correctly auto import when there is a renamed symbol with the same name
+ in scope [kasiaMarek](https://github.com/kasiaMarek)
+- fix: handle implicit params in extract method
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: don't show implicit conversion for implicit params
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: resolve correctly project refs for sbt
+ [kasiaMarek](https://github.com/kasiaMarek)
+- improvement: make sure we always have correct projectview file for Bazel
+ [tgodzik](https://github.com/tgodzik)
+- fix: convert block args to named args when in parenthesis
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: auto import for class names with long packages
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: don't create `semanticdb` next to user sources for single files
+ [kasiaMarek](https://github.com/kasiaMarek)
+- fix: don't override `JAVA_HOME` if it already exists for Bazel to avoid
+ unnecessary restarts
+- improvement: recreate classloader if scalafix classloading fails.
+ [tgodzik](https://github.com/tgodzik)
## Contributors
@@ -149,8 +196,8 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- build(deps): Update xnio-nio from 3.8.15.Final to 3.8.16.Final
[\#6513](https://github.com/scalameta/metals/pull/6513)
([scalameta-bot](https://github.com/scalameta-bot))
-- build(deps): Update ammonite-util from 3.0.0-M2-8-ba4429a2 to 3.0.0-M2-11-713b6963
- [\#6512](https://github.com/scalameta/metals/pull/6512)
+- build(deps): Update ammonite-util from 3.0.0-M2-8-ba4429a2 to
+ 3.0.0-M2-11-713b6963 [\#6512](https://github.com/scalameta/metals/pull/6512)
([scalameta-bot](https://github.com/scalameta-bot))
- improvement: Don't show bazel navigation issue always
[\#6510](https://github.com/scalameta/metals/pull/6510)
@@ -158,14 +205,13 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- fix: propagate jvmopts to tests
[\#6505](https://github.com/scalameta/metals/pull/6505)
([gchudnov](https://github.com/gchudnov))
-- fix: prefer latter fully qualified name parts when building trigrams for fuzzy search
- [\#6482](https://github.com/scalameta/metals/pull/6482)
+- fix: prefer latter fully qualified name parts when building trigrams for fuzzy
+ search [\#6482](https://github.com/scalameta/metals/pull/6482)
([kasiaMarek](https://github.com/kasiaMarek))
- fix: convert block args to named args when in parenthesis
[\#6487](https://github.com/scalameta/metals/pull/6487)
([kasiaMarek](https://github.com/kasiaMarek))
-- Add missing word
- [\#6502](https://github.com/scalameta/metals/pull/6502)
+- Add missing word [\#6502](https://github.com/scalameta/metals/pull/6502)
([bwignall](https://github.com/bwignall))
- chore: Don't recalculate build tools every time
[\#6462](https://github.com/scalameta/metals/pull/6462)
@@ -179,8 +225,8 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- fix: resolve correctly project refs for sbt
[\#6486](https://github.com/scalameta/metals/pull/6486)
([kasiaMarek](https://github.com/kasiaMarek))
-- improvement: don't delete classpath jars for running main from `.metals/.tmp` before server shutdown
- [\#6495](https://github.com/scalameta/metals/pull/6495)
+- improvement: don't delete classpath jars for running main from `.metals/.tmp`
+ before server shutdown [\#6495](https://github.com/scalameta/metals/pull/6495)
([kasiaMarek](https://github.com/kasiaMarek))
- improvement: allow to override debug server startup timeout
[\#6492](https://github.com/scalameta/metals/pull/6492)
@@ -203,13 +249,13 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- fix: handle implicit params in extract method
[\#6479](https://github.com/scalameta/metals/pull/6479)
([kasiaMarek](https://github.com/kasiaMarek))
-- fix: correctly auto import when there is a renamed symbol with the same name in scope
- [\#6480](https://github.com/scalameta/metals/pull/6480)
+- fix: correctly auto import when there is a renamed symbol with the same name
+ in scope [\#6480](https://github.com/scalameta/metals/pull/6480)
([kasiaMarek](https://github.com/kasiaMarek))
- fix: allow for `#include` header
[\#6473](https://github.com/scalameta/metals/pull/6473)
([kasiaMarek](https://github.com/kasiaMarek))
-- improvement: don't run `compileAndLookForNewReferences `
+- improvement: don't run `compileAndLookForNewReferences`
[\#6429](https://github.com/scalameta/metals/pull/6429)
([kasiaMarek](https://github.com/kasiaMarek))
- chore: Unignore and fix references Bazel test
@@ -230,14 +276,14 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- build(deps): Update guava from 33.2.0-jre to 33.2.1-jre
[\#6469](https://github.com/scalameta/metals/pull/6469)
([scalameta-bot](https://github.com/scalameta-bot))
-- build(deps): Update ammonite-util from 3.0.0-M2-6-38698450 to 3.0.0-M2-8-ba4429a2
- [\#6470](https://github.com/scalameta/metals/pull/6470)
+- build(deps): Update ammonite-util from 3.0.0-M2-6-38698450 to
+ 3.0.0-M2-8-ba4429a2 [\#6470](https://github.com/scalameta/metals/pull/6470)
([scalameta-bot](https://github.com/scalameta-bot))
-- build(deps): bump @easyops-cn/docusaurus-search-local from 0.40.1 to 0.41.0 in /website
- [\#6467](https://github.com/scalameta/metals/pull/6467)
+- build(deps): bump @easyops-cn/docusaurus-search-local from 0.40.1 to 0.41.0 in
+ /website [\#6467](https://github.com/scalameta/metals/pull/6467)
([dependabot[bot]](https://github.com/dependabot[bot]))
-- build(deps): bump @docusaurus/plugin-client-redirects from 3.2.1 to 3.4.0 in /website
- [\#6466](https://github.com/scalameta/metals/pull/6466)
+- build(deps): bump @docusaurus/plugin-client-redirects from 3.2.1 to 3.4.0 in
+ /website [\#6466](https://github.com/scalameta/metals/pull/6466)
([dependabot[bot]](https://github.com/dependabot[bot]))
- build(deps): bump @docusaurus/core from 3.2.1 to 3.4.0 in /website
[\#6465](https://github.com/scalameta/metals/pull/6465)
@@ -248,8 +294,7 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- build(deps): Update requests from 0.8.2 to 0.8.3
[\#6463](https://github.com/scalameta/metals/pull/6463)
([scalameta-bot](https://github.com/scalameta-bot))
-- Update faq.md
- [\#6461](https://github.com/scalameta/metals/pull/6461)
+- Update faq.md [\#6461](https://github.com/scalameta/metals/pull/6461)
([spamegg1](https://github.com/spamegg1))
- bugfix: Filter out target
[\#6460](https://github.com/scalameta/metals/pull/6460)
@@ -293,8 +338,8 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- fix: getting top levels for filenames with ```
[\#6430](https://github.com/scalameta/metals/pull/6430)
([kasiaMarek](https://github.com/kasiaMarek))
-- build(deps): Update ammonite-util from 3.0.0-M2-5-1c823fef to 3.0.0-M2-6-38698450
- [\#6441](https://github.com/scalameta/metals/pull/6441)
+- build(deps): Update ammonite-util from 3.0.0-M2-5-1c823fef to
+ 3.0.0-M2-6-38698450 [\#6441](https://github.com/scalameta/metals/pull/6441)
([scalameta-bot](https://github.com/scalameta-bot))
- bugfix: Don't start mtags with full classpath
[\#6439](https://github.com/scalameta/metals/pull/6439)
@@ -308,8 +353,8 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- build(deps): Update munit from 1.0.0-RC1 to 1.0.0
[\#6435](https://github.com/scalameta/metals/pull/6435)
([scalameta-bot](https://github.com/scalameta-bot))
-- build(deps): Update ammonite-util from 3.0.0-M2-3-b5eb4787 to 3.0.0-M2-5-1c823fef
- [\#6433](https://github.com/scalameta/metals/pull/6433)
+- build(deps): Update ammonite-util from 3.0.0-M2-3-b5eb4787 to
+ 3.0.0-M2-5-1c823fef [\#6433](https://github.com/scalameta/metals/pull/6433)
([scalameta-bot](https://github.com/scalameta-bot))
- build(deps): Update bloop-launcher-core from 1.5.17 to 1.5.18
[\#6431](https://github.com/scalameta/metals/pull/6431)
@@ -320,8 +365,8 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- fix: look for gradle wrapper at project root
[\#6428](https://github.com/scalameta/metals/pull/6428)
([kasiaMarek](https://github.com/kasiaMarek))
-- improvement: use pc for finding references of local symbols and when semanticdb is missing
- [\#5940](https://github.com/scalameta/metals/pull/5940)
+- improvement: use pc for finding references of local symbols and when
+ semanticdb is missing [\#5940](https://github.com/scalameta/metals/pull/5940)
([kasiaMarek](https://github.com/kasiaMarek))
- Fixed issue where oldPath wasn't using OS specific spelling for Path/PATH
[\#6427](https://github.com/scalameta/metals/pull/6427)
@@ -338,11 +383,10 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- bugfix: Fix infinite indexing
[\#6420](https://github.com/scalameta/metals/pull/6420)
([tgodzik](https://github.com/tgodzik))
-- build(deps): Update ammonite-util from 3.0.0-M2-2-741e5dbb to 3.0.0-M2-3-b5eb4787
- [\#6421](https://github.com/scalameta/metals/pull/6421)
+- build(deps): Update ammonite-util from 3.0.0-M2-2-741e5dbb to
+ 3.0.0-M2-3-b5eb4787 [\#6421](https://github.com/scalameta/metals/pull/6421)
([scalameta-bot](https://github.com/scalameta-bot))
-- Outline compiler
- [\#6114](https://github.com/scalameta/metals/pull/6114)
+- Outline compiler [\#6114](https://github.com/scalameta/metals/pull/6114)
([kasiaMarek](https://github.com/kasiaMarek))
- refactor: Move parts specific for workspace folder from `MetalsLspServer`
[\#6347](https://github.com/scalameta/metals/pull/6347)
@@ -365,8 +409,8 @@ $ git shortlog -sn --no-merges v1.3.1..v1.3.2
- refactor: Add -Xsource:3 flag to easy migration to Scala 3
[\#6411](https://github.com/scalameta/metals/pull/6411)
([tgodzik](https://github.com/tgodzik))
-- build(deps): Update ammonite-util from 3.0.0-M1-24-26133e66 to 3.0.0-M2-2-741e5dbb
- [\#6413](https://github.com/scalameta/metals/pull/6413)
+- build(deps): Update ammonite-util from 3.0.0-M1-24-26133e66 to
+ 3.0.0-M2-2-741e5dbb [\#6413](https://github.com/scalameta/metals/pull/6413)
([scalameta-bot](https://github.com/scalameta-bot))
- remove unused bloomfilter
[\#6399](https://github.com/scalameta/metals/pull/6399)
diff --git a/website/blog/2024-07-12-thallium.md b/website/blog/2024-07-12-thallium.md
index 75c2b0be9e4..cd6f239b8ef 100644
--- a/website/blog/2024-07-12-thallium.md
+++ b/website/blog/2024-07-12-thallium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.3.3 - Thallium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v1.3.3, which brings a number of
diff --git a/website/blog/2024-07-24-thallium.md b/website/blog/2024-07-24-thallium.md
index 493851ab70f..b8c7bce84dd 100644
--- a/website/blog/2024-07-24-thallium.md
+++ b/website/blog/2024-07-24-thallium.md
@@ -1,10 +1,10 @@
---
-author: Katarzyna Marek
+authors: kmarek
title: Metals v1.3.4 - Thallium
-authorImageURL: https://github.com/kasiaMarek.png
---
-We're happy to announce the release of Metals v1.3.4, which above all improves the experience of working with non-compiling Scala 3 projects.
+We're happy to announce the release of Metals v1.3.4, which above all improves
+the experience of working with non-compiling Scala 3 projects.
@@ -31,7 +31,8 @@ We're happy to announce the release of Metals v1.3.4, which above all improves t
-For full details: [https://github.com/scalameta/metals/milestone/70?closed=1](https://github.com/scalameta/metals/milestone/70?closed=1)
+For full details:
+[https://github.com/scalameta/metals/milestone/70?closed=1](https://github.com/scalameta/metals/milestone/70?closed=1)
Metals is a language server for Scala that works with VS Code, Vim, Emacs, Zed,
Helix and Sublime Text. Metals is developed at the
@@ -48,15 +49,27 @@ give Metals a try!
## Scala 3 best effort compilation
-Starting with this release Metals will take advantage of Scala 3 best effort compilation. This should greatly improve the IDE experience of working with non-compiling code. With best effort compilation Scala 3 compiler will produce a tasty-like format files that can also include partially broken trees even when a module does not compile. Those files, similarly to normal tasty files, will be later consumed by the presentation compiler providing most up to date information about the project. This great feature has been delivered by [jchyb](https://github.com/jchyb) and will be available starting with Scala `3.5.0`.
+Starting with this release Metals will take advantage of Scala 3 best effort
+compilation. This should greatly improve the IDE experience of working with
+non-compiling code. With best effort compilation Scala 3 compiler will produce a
+tasty-like format files that can also include partially broken trees even when a
+module does not compile. Those files, similarly to normal tasty files, will be
+later consumed by the presentation compiler providing most up to date
+information about the project. This great feature has been delivered by
+[jchyb](https://github.com/jchyb) and will be available starting with Scala
+`3.5.0`.
## Sort workspace members with the same name by frequency
-Workspace member completions with the same name are now sorted by their usage frequency, so the symbols more often referenced in project appear higher on the list of completions. This cool feature was added by [Temurlock](https://github.com/Temurlock).
+Workspace member completions with the same name are now sorted by their usage
+frequency, so the symbols more often referenced in project appear higher on the
+list of completions. This cool feature was added by
+[Temurlock](https://github.com/Temurlock).
![sort-by-freq](https://i.imgur.com/lAOeVCZ.gif)
# Miscellaneous
+
- fix: show zero extent references for implicits when using pc
- fix: correctly handle `.scala` files with shebang
- fix: suggest import for maven/gradle when `defaultBspToBuildTool = true`
@@ -100,8 +113,7 @@ $ git shortlog -sn --no-merges v1.3.3..v1.3.4
- fix: correctly handle `.scala` with shebang
[\#6602](https://github.com/scalameta/metals/pull/6602)
([kasiaMarek](https://github.com/kasiaMarek))
-- fix: by-max on empty
- [\#6610](https://github.com/scalameta/metals/pull/6610)
+- fix: by-max on empty [\#6610](https://github.com/scalameta/metals/pull/6610)
([kasiaMarek](https://github.com/kasiaMarek))
- build(deps): Update h2 from 2.2.224 to 2.3.230
[\#6605](https://github.com/scalameta/metals/pull/6605)
@@ -109,8 +121,8 @@ $ git shortlog -sn --no-merges v1.3.3..v1.3.4
- build(deps): Update cli_3, scala-cli-bsp from 1.4.0 to 1.4.1
[\#6609](https://github.com/scalameta/metals/pull/6609)
([scalameta-bot](https://github.com/scalameta-bot))
-- build(deps): Update ammonite-util from 3.0.0-M2-13-23a8ef64 to 3.0.0-M2-15-9bed9700
- [\#6606](https://github.com/scalameta/metals/pull/6606)
+- build(deps): Update ammonite-util from 3.0.0-M2-13-23a8ef64 to
+ 3.0.0-M2-15-9bed9700 [\#6606](https://github.com/scalameta/metals/pull/6606)
([scalameta-bot](https://github.com/scalameta-bot))
- feature: Add support for Scala 3's Best Effort compilation
[\#5219](https://github.com/scalameta/metals/pull/5219)
diff --git a/website/blog/2024-08-01-thallium.md b/website/blog/2024-08-01-thallium.md
index 226440504a8..9f5fd78b696 100644
--- a/website/blog/2024-08-01-thallium.md
+++ b/website/blog/2024-08-01-thallium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.3.5 - Thallium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
Metals v1.3.5 is a bugfix release and it's main purpose is to disable best
diff --git a/website/blog/2024-10-24-palladium.md b/website/blog/2024-10-24-palladium.md
index 7524b3a992b..36ec05b7dfc 100644
--- a/website/blog/2024-10-24-palladium.md
+++ b/website/blog/2024-10-24-palladium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.4.0 - Palladium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v1.4.0, with the main focus on
@@ -84,7 +82,7 @@ old server will no longer be used by any tool known to us.
Metals allows users to customize the default options for the Bloop build server.
However, in most cases, it is best to use the defaults, which will be applied if
-the `metals.bloopJvmOptions `setting is missing or set to an empty array.
+the `metals.bloopJvmOptions`setting is missing or set to an empty array.
The new default JVM options for Bloop are as follows:
diff --git a/website/blog/2024-11-15-palladium.md b/website/blog/2024-11-15-palladium.md
index 116bb615ffb..58814b1ccec 100644
--- a/website/blog/2024-11-15-palladium.md
+++ b/website/blog/2024-11-15-palladium.md
@@ -1,8 +1,6 @@
---
-author: Tomasz Godzik
+authors: tgodzik
title: Metals v1.4.1 - Palladium
-authorURL: https://twitter.com/TomekGodzik
-authorImageURL: https://github.com/tgodzik.png
---
We're happy to announce the release of Metals v1.4.1, which focuses mostly on