aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/configs/cadence.lua
blob: 2896f6823469f1a64cb557ddd5540222dbc79d26 (plain) (blame)
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
local util = require 'lspconfig.util'

return {
  default_config = {
    cmd = { 'flow', 'cadence', 'language-server' },
    filetypes = { 'cdc' },
    init_options = {
      numberOfAccounts = '1',
    },
    root_dir = function(fname, _)
      return util.root_pattern 'flow.json'(fname) or vim.env.HOME
    end,
    on_new_config = function(new_config, new_root_dir)
      new_config.init_options.configPath = new_root_dir .. '/flow.json'
    end,
  },
  docs = {
    description = [[
[Cadence Language Server](https://github.com/onflow/cadence-tools/tree/master/languageserver)
using the [flow-cli](https://developers.flow.com/tools/flow-cli).

The `flow` command from flow-cli must be available. For install instructions see
[the docs](https://developers.flow.com/tools/flow-cli/install#install-the-flow-cli) or the
[Github page](https://github.com/onflow/flow-cli).

By default the configuration is taken from the closest `flow.json` or the `flow.json` in the users home directory.
]],
  },
}