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, +    }, +  }, +}  |