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

Support new hls generic plugin configuration #336

Closed
jneira opened this issue Jan 11, 2021 · 3 comments · Fixed by #361
Closed

Support new hls generic plugin configuration #336

jneira opened this issue Jan 11, 2021 · 3 comments · Fixed by #361
Assignees
Labels
type: enhancement An enhancement to an already existing feature type: user experience An enhancement to the UX, e.g. better error handling

Comments

@jneira
Copy link
Member

jneira commented Jan 11, 2021

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.

//cc @alanz @bubba

@jneira jneira added type: enhancement An enhancement to an already existing feature type: user experience An enhancement to the UX, e.g. better error handling responsibility: client labels Jan 11, 2021
@berberman
Copy link
Collaborator

What about adding a "custom" section so that users could configure it temporarily using JSON?

image

This should not be the final solution, but the expressiveness of configuration options provided by vscode UI is fairly limited. My idea is that the custom section could be "merged" with other options, but it seems that this merge is hard to be done in the vscode side, since we simply pass the section name like this to setup a listener on the configuration:

configurationSection: 'haskell',

but the underlying logic to obtain the real configuration is opaque:

https://github.com/microsoft/vscode-languageserver-node/blob/3c5d4bef4fb4ed85d5c8db8da6f18bf55a44b9a1/client/src/common/client.ts#L2480

Will this approach be reasonable if the merge should be done in the server side?

@jneira
Copy link
Member Author

jneira commented Feb 2, 2021

Mmm if we have to do the merge in the server i would wait to a definitive solution, with the possible options fixed if possible

@jneira
Copy link
Member Author

jneira commented Mar 8, 2021

I am on working on this, taking the minimal configuration to be added in haskell/haskell-language-server#1433

@jneira jneira linked a pull request Mar 11, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement An enhancement to an already existing feature type: user experience An enhancement to the UX, e.g. better error handling
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants