You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using all the HLS plugins available on Hackage without needing to recompile HLS.
Overriding any HLS plugins without recompiling HLS.
As a result, we will have a much more modular HLS architecture, which leaves the support of experimental or controversial plugins to the maintainers. It will also provide the ability to experiment with HLS with less effort. Additionally, it will simplify HLS distribution by making it independent from at least some of the existing plugins, reducing the heavy dependency footprint of HLS
Describe alternatives you've considered
I've been thinking about HLS recompilation before start. But I think it will increase HLS start time a lot
Additional context
Inspired by discussion #4464
I don't know if it is possible to implement, so please leave any feedback about this proposal
The text was updated successfully, but these errors were encountered:
Is your enhancement request related to a problem? Please describe.
I’m often frustrated with the HLS plugin architecture for the following reasons:
Describe the solution you'd like
In the
cabal.project
file, we can specify a list of packages that should be compiled and loaded into GHCi. For example:extra-packages: hls-fourmolu-plugin hls-stylish-haskell-plugin hls-stan-plugin hls-floskell-plugin
AFAIK, HLS loads a GHCi session and has access to all of the project dependencies. If we modify the hls-plugin-api to:
then we will have a simple dynamic plugin loader that provides users with the following capabilities:
As a result, we will have a much more modular HLS architecture, which leaves the support of experimental or controversial plugins to the maintainers. It will also provide the ability to experiment with HLS with less effort. Additionally, it will simplify HLS distribution by making it independent from at least some of the existing plugins, reducing the heavy dependency footprint of HLS
Describe alternatives you've considered
I've been thinking about HLS recompilation before start. But I think it will increase HLS start time a lot
Additional context
Inspired by discussion #4464
I don't know if it is possible to implement, so please leave any feedback about this proposal
The text was updated successfully, but these errors were encountered: