diff options
Diffstat (limited to '.config/nvim/lsp/metals.lua')
-rw-r--r-- | .config/nvim/lsp/metals.lua | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/.config/nvim/lsp/metals.lua b/.config/nvim/lsp/metals.lua new file mode 100644 index 0000000..c76ce64 --- /dev/null +++ b/.config/nvim/lsp/metals.lua @@ -0,0 +1,32 @@ +---@brief +--- +--- https://scalameta.org/metals/ +--- +--- Scala language server with rich IDE features. +--- +--- See full instructions in the Metals documentation: +--- +--- https://scalameta.org/metals/docs/editors/vim#using-an-alternative-lsp-client +--- +--- Note: that if you're using [nvim-metals](https://github.com/scalameta/nvim-metals), that plugin fully handles the setup and installation of Metals, and you shouldn't set up Metals both with it and `lspconfig`. +--- +--- To install Metals, make sure to have [coursier](https://get-coursier.io/docs/cli-installation) installed, and once you do you can install the latest Metals with `cs install metals`. + +---@type vim.lsp.Config +return { + cmd = { 'metals' }, + filetypes = { 'scala' }, + root_markers = { 'build.sbt', 'build.sc', 'build.gradle', 'pom.xml' }, + init_options = { + statusBarProvider = 'show-message', + isHttpEnabled = true, + compilerOptions = { + snippetAutoIndent = false, + }, + }, + capabilities = { + workspace = { + configuration = false, + }, + }, +} |