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

No Config is generated for a plugin with only a Goto Definition Request Handler #4127

Open
fendor opened this issue Mar 9, 2024 · 1 comment
Assignees
Labels
type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..

Comments

@fendor
Copy link
Collaborator

fendor commented Mar 9, 2024

In #4126, I noticed the CI was green, even though the PR doesn't modify the vscode extension schema json file.

The reason seems to be in https://github.com/haskell/haskell-language-server/blob/master/hls-plugin-api/src/Ide/Plugin/ConfigUtils.hs#L114, we only generate an "Enable Plugin" config, if there is exactly one other config. However, we don't generate a config for Goto Definition handlers.

I think, we should also generate an "Enable Plugin" Config, if no other config exists.

@fendor fendor added type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc.. status: needs triage labels Mar 9, 2024
@fendor fendor self-assigned this Mar 9, 2024
@fendor
Copy link
Collaborator Author

fendor commented Mar 11, 2024

It is not as trivial as to simply generate the globalOn field for each plugin, as this exposes internal plugins to the outside world as well, in particular:

              "LSPRecorderCallback": {
                  "globalOn": true
              },

which is not something we want to do, I believe.

Alternatively, we could add options for Goto Definition handlers to handlersToGenericDefaultConfig. I think that's directly at odds with #4094, but perhaps still worth it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..
Projects
None yet
Development

No branches or pull requests

1 participant