scala.md

 1# Scala
 2
 3Scala language support in Zed is provided by the community-maintained [Scala extension](https://github.com/scalameta/metals-zed).
 4Report issues to: [https://github.com/scalameta/metals-zed/issues](https://github.com/scalameta/metals-zed/issues)
 5
 6- Tree-sitter: [tree-sitter/tree-sitter-scala](https://github.com/tree-sitter/tree-sitter-scala)
 7- Language Server: [scalameta/metals](https://github.com/scalameta/metals)
 8
 9## Setup
10
11- Install Scala with `cs setup` (Coursier): https://www.scala-lang.org/download/
12  - `brew install coursier/formulas/coursier && cs setup`
13- REPL (Almond) Setup Instructions https://almond.sh/docs/quick-start-install
14  - `brew install --cask temurin` (Eclipse foundation official OpenJDK binaries)
15  - `brew install coursier/formulas/coursier && cs setup`
16  - `coursier launch --use-bootstrap almond -- --install`
17
18## Configuration
19
20Behavior of the Metals language server can be controlled with:
21
22- `.scalafix.conf` file - See [Scalafix Configuration](https://scalacenter.github.io/scalafix/docs/users/configuration.html)
23- `.scalafmt.conf` file - See [Scalafmt Configuration](https://scalameta.org/scalafmt/docs/configuration.html)
24
25You can place these files in the root of your project or specifying their location in the Metals configuration. See [Metals User Configuration](https://scalameta.org/metals/docs/editors/user-configuration) for more.
26
27<!--
28TBD: Provide LSP configuration example for metals in Zed settings.json. metals.{javaHome,excludedPackages,customProjectRoot} etc.
29-->