diff options
| author | Janez Podhostnik <67895329+janezpodhostnik@users.noreply.github.com> | 2023-02-06 12:41:43 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-06 20:41:43 +0800 |
| commit | 2fd43e4c01c86a058d3b8f74292ec316301d62da (patch) | |
| tree | c38389032c489a7c879539c2c90eefa691473e3e /lua | |
| parent | fix: update luarocks-tag-release action + set license (diff) | |
| download | nvim-lspconfig-2fd43e4c01c86a058d3b8f74292ec316301d62da.tar nvim-lspconfig-2fd43e4c01c86a058d3b8f74292ec316301d62da.tar.gz nvim-lspconfig-2fd43e4c01c86a058d3b8f74292ec316301d62da.tar.bz2 nvim-lspconfig-2fd43e4c01c86a058d3b8f74292ec316301d62da.tar.lz nvim-lspconfig-2fd43e4c01c86a058d3b8f74292ec316301d62da.tar.xz nvim-lspconfig-2fd43e4c01c86a058d3b8f74292ec316301d62da.tar.zst nvim-lspconfig-2fd43e4c01c86a058d3b8f74292ec316301d62da.zip | |
feat: add cadence language server (#2435)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/lspconfig/server_configurations/cadence.lua | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lua/lspconfig/server_configurations/cadence.lua b/lua/lspconfig/server_configurations/cadence.lua new file mode 100644 index 00000000..d9b36cd0 --- /dev/null +++ b/lua/lspconfig/server_configurations/cadence.lua @@ -0,0 +1,40 @@ +local util = require 'lspconfig.util' + +local config_name = 'flow.json' +local bin_name = 'flow' +local cmd = { 'flow', 'cadence', 'language-server' } + +if vim.fn.has 'win32' == 1 then + cmd = { 'cmd.exe', '/C', bin_name, 'cadence', 'language-server' } +end + +return { + default_config = { + cmd = cmd, + filetypes = { 'cdc' }, + init_options = { + numberOfAccounts = '1', + }, + root_dir = function(fname, _) + return util.root_pattern(config_name)(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, config_name) + 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]], + }, + }, +} |
