-
Notifications
You must be signed in to change notification settings - Fork 97
Invert the dependency with hls-plugin-api #963
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree the repo inversion is the right thing to do. The details are less important and easier to clean up after, so stamping it with approval so you can do so. (I did review the patch though, seems sensible)
@@ -161,6 +162,9 @@ library | |||
Development.IDE.Plugin | |||
Development.IDE.Plugin.Completions | |||
Development.IDE.Plugin.CodeAction | |||
Development.IDE.Plugin.Formatter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do these end up in Ghcide? I guess they leave in a future diff?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formatter
contains machinery needed to convert an HLS FormattingProvider
into a PartialHandler
for ghcide
This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963
This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963
This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963
Closed in favour of haskell/haskell-language-server#701 |
This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963
This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963
This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963
* Invert the dependency between ghcide and hls-plugin-api This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963 * clean up * Fix the ghcide plugin to include the rules * clean up PartialHandlers definition The ghcide partial handlers for completions, code actions and hover are not really being used, since they get overriden by the `<> ps` append. This is due to the right-biased semantics of `PartialHandlers` * Move ghcide LspConfig into Ide.Plugin.Config * Use HLS plugins in ghcide For now there is only one, the main ghcide plugin. But this will allow us to break it down in more fine grained plugins with parallel semantics, both for execution and error handling * Fix hlints * Revert "Temporarily disable the upstream branch for benchmarks" This reverts commit 7bb3c6e. * Disable the Windows 8.6.4 test * Fix unrelated hlints Not sure why these are triggering now. Linting should be restricted to the Diff ...
* Invert the dependency between ghcide and hls-plugin-api This PR includes changes both to ghcide and HLS to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853 To summarise: - `hls-plugin-api` no longer depends on ghcide. - `ghcide` now depends on `hls-plugin-api` and exposes: - The ghcide HLS plugin - The `asGhcIdePlugin` adaptor The goals are: - to be able to break the `ghcide` HLS plugin down - to rewrite exe:ghcide on top of the HLS plugin model. The ghcide side is reviewed in haskell/ghcide#963 If this change is accepted there are two further considerations: - This would be a good moment to merge the 2 repos, so that there is no history loss. - `hls-plugin-api` will need to be released to Hackage prior to merging haskell/ghcide#963 * clean up * Fix the ghcide plugin to include the rules * clean up PartialHandlers definition The ghcide partial handlers for completions, code actions and hover are not really being used, since they get overriden by the `<> ps` append. This is due to the right-biased semantics of `PartialHandlers` * Move ghcide LspConfig into Ide.Plugin.Config * Use HLS plugins in ghcide For now there is only one, the main ghcide plugin. But this will allow us to break it down in more fine grained plugins with parallel semantics, both for execution and error handling * Fix hlints * Revert "Temporarily disable the upstream branch for benchmarks" This reverts commit 7bb3c6e. * Disable the Windows 8.6.4 test * Fix unrelated hlints Not sure why these are triggering now. Linting should be restricted to the Diff ...
This PR includes changes to implement the reorg described in https://github.com/haskell/ghcide/issues/936#issuecomment-751437853