nvim/pack/acp/start/nvim-lspconfig/lua/lspconfig/server_configurations/cadence.lua

33 lines
1.1 KiB
Lua
Raw Normal View History

2024-04-06 13:39:53 +00:00
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]],
},
},
}