Skip to content

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

Merged
merged 1 commit into from
Feb 4, 2024

Conversation

fendor
Copy link
Contributor

@fendor fendor commented Feb 2, 2024

No description provided.

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
Copy link
Contributor

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.

Copy link
Contributor Author

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.
Copy link
Contributor

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
Copy link
Contributor

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"?

Copy link
Contributor Author

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.

@aaronallen8455
Copy link
Contributor

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.

@aaronallen8455 aaronallen8455 merged commit 4627060 into haskell-org:master Feb 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants