aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lsp/metals.lua
blob: c76ce649604f68adf1ab14e97a8373cdec18f0d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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,
    },
  },
}