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