Files
doomemacs/modules/lang/scala
Henrik Lissner fc7b179e6c bump: :lang
Wilfred/helpful@5ad8a9ce57 -> Wilfred/helpful@6a4d5e0760
agda/agda@10a0ca0516 -> agda/agda@49a12eab7f
clojure-emacs/cider@a0d6169026 -> clojure-emacs/cider@fdfa7c2200
dominikh/go-mode.el@602d73e226 -> dominikh/go-mode.el@0ed3c5227e
emacs-geiser/gauche@8ff743f641 -> emacs-geiser/gauche@9eb8b35f0c
emacs-lsp/lsp-dart@7e3d342941 -> emacs-lsp/lsp-dart@2170823139
emacs-lsp/lsp-java@868600bf7f -> emacs-lsp/lsp-java@6cfff8761e
emacs-lsp/lsp-metals@567089f7f4 -> emacs-lsp/lsp-metals@345b4fa80e
emacs-lsp/lsp-sourcekit@63ff1ab638 -> emacs-lsp/lsp-sourcekit@3bd9750e7e
emacs-lsp/lsp-treemacs@fb1a07ae0a -> emacs-lsp/lsp-treemacs@312dee2b3a
emacs-rustic/rustic@fbbf0a7192 -> emacs-rustic/rustic@22a5ef8bfd
emacs-straight/auctex@53f80ba36c -> emacs-straight/auctex@6fb366064c
emacs-straight/csv-mode@6979fc18eb -> emacs-straight/csv-mode@1695ee1752
emacsorphanage/dart-mode@88b6683f43 -> emacsorphanage/dart-mode@6229941ec5
erlang/otp@64185e73b0 -> erlang/otp@740af6bae5
fsharp/emacs-fsharp-mode@677d78c4d6 -> fsharp/emacs-fsharp-mode@bf7a11e1ba
gcv/julia-snail@24f79a067b -> gcv/julia-snail@cacf52e4c8
godotengine/emacs-gdscript-mode@c3d9988984 -> godotengine/emacs-gdscript-mode@3f3739dd88
greghendershott/racket-mode@eef5e9ab2c -> greghendershott/racket-mode@88d82e249e
jrblevin/markdown-mode@ee9d6de1d2 -> jrblevin/markdown-mode@d2d960bec1
json-emacs/json-mode@77125b01c0 -> json-emacs/json-mode@466d5b5637
ledger/ledger-mode@356d8049ed -> ledger/ledger-mode@d9b6648201
rust-lang/rust-mode@542f1755d8 -> rust-lang/rust-mode@efd830806c
seagle0128/grip-mode@ffce7f78eb -> seagle0128/grip-mode@e90e3b47d8
ziglang/zig-mode@f0b4a48753 -> ziglang/zig-mode@4ad4edf759
2025-04-01 03:49:02 -04:00
..
2024-09-14 20:47:39 -04:00
2025-04-01 03:49:02 -04:00

:lang scala

Description   unfold

This module adds scala and sbt support to Doom Emacs.

Through the power of Metals (LSP) this module offers:

  • Goto Definition
  • Completions
  • Hover
  • Paremeter Hints
  • Find References
  • Run/Debug
  • Find Implementations
  • Rename Symbol
  • Code Actions
  • Document Symbols
  • Formatting
  • Folding
  • Organize Imports

Maintainers

This module has no dedicated maintainers. Become a maintainer?

Module flags

+lsp
Enable LSP support for scala-mode. Requires doom-module::tools lsp and a langserver (supports metals).
+tree-sitter
Leverages tree-sitter for better syntax highlighting and structural text editing. Requires doom-module::tools tree-sitter.

Hacks

No hacks documented for this module.

TODO Changelog

This module does not have a changelog yet.

Installation

Enable this module in your doom! block.

+lsp Integration

To set up LSP support for Scala you'll need the Metals LSP server. To install it you need Coursier installed first:

Coursier

Coursier is only required to install Metals. If you're on Arch linux this step can be skipped.

Ubuntu / Debian / Fedora
curl -fLo cs https://git.io/coursier-cli-linux &&
    chmod +x cs &&
    ./cs
MacOS
curl -fLo cs https://git.io/coursier-cli-macos &&
    chmod +x cs &&
    (xattr -d com.apple.quarantine cs || true) &&
    ./cs
Arch Linux
yay -S coursier

Metals

Ubuntu / Debian / Fedora / MacOS

Update following command to latest version of metals found here.

coursier bootstrap \
  --java-opt -Xss4m \
  --java-opt -Xms100m \
  --java-opt -Dmetals.client=emacs \
  org.scalameta:metals_2.12:0.9.4 \
  -r bintray:scalacenter/releases \
  -r sonatype:snapshots \
  -o /usr/local/bin/metals -f
Arch Linux
yay -S metals

Formatter

Formatting is handled using the doom-module::editor format module via scalafmt.

TODO Usage

󱌣 This module has no usage documentation yet. Write some?

TODO Configuration

󱌣 This module has no configuration documentation yet. Write some?

Troubleshooting

Report an issue?

Frequently asked questions

This module has no FAQs yet. Ask one?

TODO Appendix

󱌣 This module has no appendix yet. Write one?