summaryrefslogtreecommitdiff
path: root/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/cadence.lua
diff options
context:
space:
mode:
Diffstat (limited to 'start/lspconfig-0.1.8/lua/lspconfig/server_configurations/cadence.lua')
-rw-r--r--start/lspconfig-0.1.8/lua/lspconfig/server_configurations/cadence.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/cadence.lua b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/cadence.lua
new file mode 100644
index 0000000..640fe5a
--- /dev/null
+++ b/start/lspconfig-0.1.8/lua/lspconfig/server_configurations/cadence.lua
@@ -0,0 +1,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]],
+ },
+ },
+}