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

Add support for jdtls' class-file-contents feature #11559

Closed
HungryJoe opened this issue Aug 23, 2024 · 1 comment
Closed

Add support for jdtls' class-file-contents feature #11559

HungryJoe opened this issue Aug 23, 2024 · 1 comment
Labels
C-enhancement Category: Improvements

Comments

@HungryJoe
Copy link

I've been using Java a lot lately, and my projects depend heavily on third-party libraries. In the Java ecosystem, libraries are typically distributed (and installed by maven, a common Java dependency-management tool) as archives (so-called JARs) full of compiled source files, which we call "class files." To support callers' viewing the definitions of these libraries' symbols, there are a wide variety of so-called "de-compilers," which take a class file and render source code that could be compiled to generate it. The legality of using these tools on proprietary libraries is questionable in some places, but I think that the legal risk here lies fully with the end user. But anyways, when I type gd on a symbol defined in a third-party library, I'm really asking Helix to show me that symbol in a decompiled version of the class file it originates from.

JDT-LS, the best Java language server out there, is able to serve decompiled class files, but it extends the language-server protocol to do so. This extension chooses to serve decompiled class files via a custom URI scheme, jdt:https://, which is informally documented here. Would some kind being be willing to add support for this extension to Helix? It'd bring the project much closer to parity with an Eclipse or IntelliJ (the two leading enterprise-grade Java IDEs) in terms of Java support.

P.S. I provide a lot of context on Java in this request in case the maintainers of Helix aren't real frequent Java users. If y'all were, I'm guessing that this feature would already be supported 😂

@HungryJoe HungryJoe added the C-enhancement Category: Improvements label Aug 23, 2024
@kirawi
Copy link
Member

kirawi commented Aug 23, 2024

We don't intend to support any LSP extensions in core and defer them to the plugin system.

@HungryJoe HungryJoe closed this as not planned Won't fix, can't repro, duplicate, stale Aug 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: Improvements
Projects
None yet
Development

No branches or pull requests

2 participants