Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuration boilerplate #99

Open
alanz opened this issue Dec 21, 2020 · 3 comments
Open

Configuration boilerplate #99

alanz opened this issue Dec 21, 2020 · 3 comments

Comments

@alanz
Copy link
Contributor

alanz commented Dec 21, 2020

With haskell/haskell-language-server#691 we are introducing a boilerplate style of configuration per plugin, where each gets a global on/off switch, as well as being able to individually turn off parts of a plugin.

At some (hopefully soon) point we will be able to install a custom set of plugins (as proposed here).

So I think we need a meta-config, which can be provided with a list of plugins that are installed in the HLS exe, and generates customization and config entries for each of them.

alanz added a commit to alanz/lsp-haskell that referenced this issue Dec 21, 2020
This is a first stab at support for haskell/haskell-language-server#691

We will probably have to have a big switch here too, to not send the
new config unless we know hls supports it. How?

Provides context for emacs-lsp#99
@michaelpj
Copy link
Collaborator

It would be kind of nice to support the JSON configuration that other clients do. Maybe we could talk to the lsp-mode folks about that. However, from a discoverability point of view, it's very nice to have an explicit listing of all the options that you can see with customize!

@alanz
Copy link
Contributor Author

alanz commented Dec 21, 2020

I was wondering if we could do some sort of package deal configuration thing for site-specific HLS, where it spits out the cabal project for the exe, as well as config info for emacs, vscode etc.

Crazy how things explode.

@michaelpj
Copy link
Collaborator

Well, you don't have to put any config for lsp-haskell, really. It's all optional. So I think it's fine to have a host of configuration options there for people who go looking for them, it's not thrust at people who don't care about them.

However, that made me think about another case: as well as totally unknown settings, HLS should tolerate settings it might know about but isn't able to deal with (e.g. for plugins that aren't enabled in your build of HLS). Maybe that will happen automatically, but good to remember it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants