diff options
| -rw-r--r-- | README.md | 19 | ||||
| -rw-r--r-- | lua/nvim_lsp.lua | 1 | ||||
| -rw-r--r-- | lua/nvim_lsp/ghcide.lua | 27 |
3 files changed, 47 insertions, 0 deletions
@@ -40,6 +40,7 @@ Implemented language servers: - [elmls](#elmls) - [flow](#flow) - [fortls](#fortls) +- [ghcide](#ghcide) - [gopls](#gopls) - [hie](#hie) - [leanls](#leanls) @@ -890,6 +891,24 @@ nvim_lsp#setup("fortls", {config}) } ``` +## ghcide + +https://github.com/digital-asset/ghcide + +A library for building Haskell IDE tooling. + +```lua +nvim_lsp.ghcide.setup({config}) +nvim_lsp#setup("ghcide", {config}) + + Default Values: + cmd = { "ghcide", "--lsp" } + filetypes = { "haskell", "lhaskell" } + log_level = 2 + root_dir = root_pattern("stack.yaml", "hie-bios", "BUILD.bazel", "cabal.config", "package.yaml"); + settings = {} +``` + ## gopls https://github.com/golang/tools/tree/master/gopls diff --git a/lua/nvim_lsp.lua b/lua/nvim_lsp.lua index 9dc7d72a..87beaee5 100644 --- a/lua/nvim_lsp.lua +++ b/lua/nvim_lsp.lua @@ -8,6 +8,7 @@ require 'nvim_lsp/dockerls' require 'nvim_lsp/elmls' require 'nvim_lsp/flow' require 'nvim_lsp/fortls' +require 'nvim_lsp/ghcide' require 'nvim_lsp/gopls' require 'nvim_lsp/hie' require 'nvim_lsp/leanls' diff --git a/lua/nvim_lsp/ghcide.lua b/lua/nvim_lsp/ghcide.lua new file mode 100644 index 00000000..65d799a4 --- /dev/null +++ b/lua/nvim_lsp/ghcide.lua @@ -0,0 +1,27 @@ +local skeleton = require 'nvim_lsp/skeleton' +local util = require 'nvim_lsp/util' +local lsp = vim.lsp + +skeleton.ghcide = { + default_config = { + cmd = { "ghcide", "--lsp" }; + filetypes = { "haskell", "lhaskell" }; + root_dir = util.root_pattern("stack.yaml", "hie-bios", "BUILD.bazel", "cabal.config", "package.yaml"); + log_level = lsp.protocol.MessageType.Warning; + settings = {}; + }; + + docs = { + vscode = "DigitalAssetHoldingsLLC.ghcide"; + description = [[ +https://github.com/digital-asset/ghcide + +A library for building Haskell IDE tooling. +]]; + default_config = { + root_dir = [[root_pattern("stack.yaml", "hie-bios", "BUILD.bazel", "cabal.config", "package.yaml")]]; + }; + }; +}; + +-- vim:et ts=2 sw=2 |
