summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/cadence.lua
blob: 640fe5aa08ce05d746a45e48780265872378b86e (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
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 = util.path.join(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.
]],
    default_config = {
      root_dir = [[util.root_pattern('flow.json') or vim.env.HOME]],
    },
  },
}