-
Notifications
You must be signed in to change notification settings - Fork 77
Add two more HLS project ideas #181
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
Add two more HLS project ideas #181
Conversation
The [`hls-cabal-plugin`](https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-cabal-plugin) is a Haskell Language Server (HLS) plugin that allows HLS to be a Language Server for `.cabal` files as well as Haskell files. | ||
While the plugin already provides many core features, there are more possible features that would increase the ergonomics of working with cabal files, such as: | ||
|
||
* Goto-Definition for local stanzas, such as library, executable or common stanzas |
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.
We could also potentially do something like this for non-local packages by linking to Hackage? I think the textDocument/documentLink
request might work for that.
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.
Yeah, I have even more ideas, but I figured, it might be fun to let the mentee come up with their own nice features and ideas.
* Prompt to add unknown modules to `exposed-modules` and `other-modules` sections. | ||
* Completion of local and non-local package names | ||
* Completion of package version bounds | ||
* Showing documentation for keywords and enum values. |
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.
Maybe also hovers for package names showing the package description etc?
|
||
* Unifying testing infrastructure of ghcide and plugins | ||
* Enabling parallelism of test case execution | ||
* Exploiting custom LSP messages to reduce flakiness of tests written in lsp-test |
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.
Maybe also "Modifying lsp-test to make it easier to use reliably"?
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.
This project idea avoids proposing modifying lsp-test itself, as it may require a bigger redesign. I feel like, we can get in a lot of low-hanging fruits without modifying lsp-test itself.
Looks great, thanks! I'm going to go ahead and merge this so these ideas are listed on the site before I submit the GSoC application. Feel free to open another PR if you want to make any changes. |
No description provided.