33 lines
1.1 KiB
Lua
33 lines
1.1 KiB
Lua
|
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]],
|
||
|
},
|
||
|
},
|
||
|
}
|