lsp-scala
is now part of lsp-mode as lsp-metals
. Please do not use this package.
Scala support for lsp-mode, mainly focus on metals.
Installation instructions with metals are available here: https://scalameta.org/metals/docs/editors/emacs.html
Other Scala language servers should work in theory. The easiest way,
if your server launches from the command line, is to customize
lsp-scala-server-command
and lsp-scala-server-args
.
metals describes itself as "work in progress". Temper your expectations, cheer them on, and help if you can. Though many lsp-mode features are not yet implemented, those that are appear to be working well. Kudos to the metals team.
Some of this is too nuanced to fit in a boolean. Some of this may be me my misunderstanding. More user experience reports welcome.
-
lsp-capabilities
-
lsp-describe-thing-at-point
-
lsp-document-highlight
:Capability not supported by the language server: "documentHighlightProvider"
-
lsp-execute-code-action
: I don't know what this does -
lsp-format-buffer
-
lsp-goto-implementation
-
lsp-goto-type-definition
-
lsp-hover
-
lsp-rename
:Capability not supported by the language server: "renameProvider"
-
lsp-restart-workspace
-
lsp-signature-help
:Capability not supported by the language server: "signatureHelpProvider"
-
lsp-workspace-folders-add
:Capability not supported by the language server: "workspaceFolders"
-
lsp-workspace-folders-remove
:Capability not supported by the language server: "workspaceFolders"
-
lsp-workspace-folders-switch
:Capability not supported by the language server: "workspaceFolders"
-
lsp-ui-flycheck
: compiles on save, renders errors inline -
lsp-ui-doc
-
lsp-ui-imenu
-
lsp-ui-peek
-
lsp-ui-sideline-enable
-
xref-find-definition
: finds definitions of symbols and types