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

GSoC 2024 ideas tracker #3935

Open
michaelpj opened this issue Jan 7, 2024 · 14 comments
Open

GSoC 2024 ideas tracker #3935

michaelpj opened this issue Jan 7, 2024 · 14 comments

Comments

@michaelpj
Copy link
Collaborator

michaelpj commented Jan 7, 2024

Add your ideas for GSoC projects here!

One comment per idea, thumbs up stuff you like.

@michaelpj
Copy link
Collaborator Author

michaelpj commented Jan 7, 2024

Write a new case-splitting plugin (aka "revive minimal wingman") (#3525)

@michaelpj
Copy link
Collaborator Author

michaelpj commented Jan 7, 2024

Actually use GHC's structured diagnostics (#2014)

@michaelpj
Copy link
Collaborator Author

Implement signature help (#3598)

@michaelpj
Copy link
Collaborator Author

michaelpj commented Jan 7, 2024

Implement go-to-declaration (#3087)

(I think this is actually useful: Haskell does have separate signatures, and those can in principle be far away from the actual definition.)

@michaelpj
Copy link
Collaborator Author

Implement go-to-implementation

(It's a little unclear what this should do. I think there are a few possible useful things: we could use it to get typeclass instances when on a class definition; or perhaps to get the actually-used instance when at a use of a typeclass-polymorphic funciton (e.g. #1983))

@michaelpj
Copy link
Collaborator Author

michaelpj commented Jan 7, 2024

Whole project rename (#2193)

(I think this is viable now we have multiple home units, might require the entire project to be loaded, but that's okay?)

@michaelpj
Copy link
Collaborator Author

Excellent diagnostics and observability of HLS itself

(Very unsexy, but basically making sure that we tell people what is happening as clearly as possible when there's a problem, and that the logging and other kinds of observability is as good as possible. Maybe revive the opentelemetry stuff too?)

@michaelpj
Copy link
Collaborator Author

LSP client library

(i.e. pull out all the stuff relating to driving a LSP server from lsp-test. Makes it easier to write other test frameworks and maybe useful for other stuff)

@michaelpj
Copy link
Collaborator Author

michaelpj commented Jan 16, 2024

Inlay hints (#2938)

@michaelpj
Copy link
Collaborator Author

Type-aware autocompletion (#2081)

@michaelpj
Copy link
Collaborator Author

I think we should submit some ideas. Currently I am planning to submit the following that I would be willing to mentor. Would anyone else be willing to mentor a project? Or to be a mentor on one of the ones I'm going to submit, since I probably can't do all of them. In particular I think the case-splitting project would be popular if someone would mentor.

  1. Integrate GHC's structured diagnostics
  2. Implement more LPS features:
    • Primarily inlay hints (many things to do here)
    • Maybe also signature help or go to declaration

@michaelpj
Copy link
Collaborator Author

I wonder if either @santiweight or @alanz might be willing to mentor the case-splitting project?

@santiweight
Copy link
Collaborator

How much work is involved? I would love to get an idea and see whether I’ll have the time!

@michaelpj
Copy link
Collaborator Author

Depends a bit on who takes it up and how much input they need. I would say not more than a couple of hours a week, mostly trying to be available on chat or whatever to help them get through issues.

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

No branches or pull requests

2 participants