hls-wrapper is a simple script to start the correct language server
based on the currently oppened project. From nvf perspective, this makes
it effectively useless. To allow haskell to work on nvf OOTB, we specify
cmd with hls (not wrapper).
NOTE: this pins the language server to specific GHC version.
To circumvent this, users must override (lib.mkForce)
vim.lsp.servers.haskell-tools.cmd with their own, or just specify it as
[ "haskell-language-server-wrapper" "--lsp" ].
`haskell-language-server-wrapper` only selects the correct
`haskell-language-server`. Snippet from hls documentation:
> HLS is a binary that must be compiled with the same version of
> GHC as the project you are using it on. For this reason it is
> usually distributed as a collection of binaries, along with a
> haskell-language-server-wrapper executable that selects the correct
> one based on which version of GHC it thinks you are using.
By providing `hls-wrapper` we pull A LOT of dependencies,
but do not use them (around 6.7GB). This is unecessary since
we then have to provide `haskell-language-server` in haskell
projects bundled with compatable GHC.
Theses are already provided by `haskell-language-server`.
We also do not prvoide any packages to complement the
specified settings, so it seems unecessary.
Haskell is not configured with lspconfig, but rather
with haskell-tools.nvim. This commit fixes "conversion"
made in 39efdc799.
Without this, users are met with nvim errors about invalid
vim.g options