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

Java support in Metals #6

Closed
adpi2 opened this issue Jul 4, 2022 · 4 comments
Closed

Java support in Metals #6

adpi2 opened this issue Jul 4, 2022 · 4 comments

Comments

@adpi2
Copy link
Member

adpi2 commented Jul 4, 2022

Description

Metals is the Scala language server for code editors like VS Code.

Metals provides the implementations of a lot of IDE features, such as goto definition, hover, find references, for the Scala language only.
But Scala is compatible with Java and many projects mix Scala and Java dependencies, Scala and Java sources.
So it would be very useful if Metals could also support those features for the Java language.

There are a few Java language servers already that we could reuse to implement those features. One of them, georgewfraser/java-language-server uses the Java compiler API directly, which might be the simplest approach for us.

Related feature request in Metals is: scalameta/metals-feature-requests#5
It is the most wanted feature, by the community currently.

Supervisors

Adrien Piquerez(adrien.piquerez@epfl.ch): Tooling Engineer at the Scala Center
Tomasz Godzik: Tooling Engineer at Virtus Lab and the Scala Center, main maintainer of Metals

Prerequisites

  • Some experience with Scala and Java
  • Ideally some experience with Metals, or LSP servers

Expected Outcome

Added support for Java on some important features of Metals.

@dos65
Copy link

dos65 commented Nov 8, 2022

@adpi2 @tgodzik

Hey! I found a student who is interested in taking this project and I will be able to provide full mentoship for him.
Will it be fine?
Also, I need to make sure that this project isn't taken yet by anyone.

@tgodzik
Copy link

tgodzik commented Nov 8, 2022

Great to hear @dos65 ! I don't think the project got started at any point. It would be amazing if the student would be able to at least provide a single new feature such as hover etc. They might first need to take a look at what would be the best approach here.

@dos65
Copy link

dos65 commented Nov 8, 2022

Cool, then we will start working on that with @VankaTaganai.

They might first need to take a look at what would be the best approach here.

Yep we will start from that. I think we will publish the investigation results here or in scameta/metals to discuss which will be the best one.

@adpi2
Copy link
Member Author

adpi2 commented Nov 9, 2022

Cool, then we will start working on that with @VankaTaganai.

That's a great news. Thanks for picking up that project @VankaTaganai and @dos65.
I am marking the issue as taken.

@adpi2 adpi2 added the taken label Nov 9, 2022
@adpi2 adpi2 closed this as completed Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants