-
Notifications
You must be signed in to change notification settings - Fork 200
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
Support specifying extra VM arguments for the Java Language server #800
base: master
Are you sure you want to change the base?
Conversation
Thanks, if @joaotavora agrees I think we could merge this with the above changes. |
This patch is large enough to need a copyright assignment to the Free Software Foundation. Have you already done that, or would you like to start that process now? |
I have not done any copyright assignment to the Free Software Foundation, but I'd like to start it. Could you give me some hints about how to do it? Thanks. |
Great, thank you for your contribution. Here are the instructions:
|
@skangas just a heads up about the JDT support. When I added it very early on in the product, I was doing something I don't like to do. THere should be no complex catering for specific language servers in Anyway avoiding language specific things in Eglot is exactly what LSP is about. In Eglot, it's precisely what differentiated it, in a good way, I think, from Long story short, all this code should be in That said, this does solve user problems. But here I would really consider making a separate deprecated
I'd probably also delete the |
@joaotavora Thanks, that's very useful. See also my separate question about this in the discussion, which you basically answered fully here. I can see the logic in your arguments, and I can only agree. Your plan to move this into a separate file is good, and I think we could do that before or after merging this PR. Once we have moved this out into a separate library, we can start working on basically dumping that support code on whatever major mode(s) that wants to take it. Perhaps they will be more inclined to agree once we have Regarding rls, I don't mind dropping that. I wonder if we should do that without asking someone else to take it over first? If rls is not very important these days, I think we could just dump it. |
It seems rust-analyzer is where the cool kids go these days anyway |
It seems like |
FYI, someone has created a package eglot-java which improves eglot's java support and provides some additional useful functions, maybe the author @yveszoundi is interested in helping split java support into a separate library? |
OH really, that's good news. Then we should definitely advertise in the README.md (with the context that it is an exception), and maybe just delete all the java stuff in |
Currently it depends on That dependency is the only reason why I do not use it, since it still does not support specifying vm arguments. |
Thanks for the updates here. Do you mind squashing the three commits into one? That makes it easier to review and merge. |
Sure. I have squashed those three commits into one now. It seems to me that squash is done successfully, but this is the first time that I use rebase squash, is the latest commit ok? |
The latest commit is fine. I think we are just waiting for the copyright assignment here. Thanks! |
* eglot.el (eglot-eclipse-jdt-vmargs): New defcustom. (eglot-eclipse-jdt): Apply VM arguments in eglot-eclipse-jdt-vmargs.
I just noticed that #251 is trying to do something similar as this. |
I hadn't noticed that before. That pr and this one demonstrate that some jdt users really need some way to configure jdt :) |
Thinking a bit more about this, given that this is basically is only relevant until this gets moved elsewhere (see #809), I'm not sure we would want to advertize it as much as making it a |
I hadn't noticed that before. That pr and this one demonstrate that
some jdt users really need some way to configure jdt :)
Yes, and JDT needs a lot of configuration. I wonder why, if that
eglot-java.el is apparently a thing, we don't dump all our JDT core that
way. Then, the day that JDT devs become enlightened by the power of
scripting and configuration files, we can just add some `jdt.bash/bar`
script into `eglot-server-programs' and eglot-java.el won't be loaded.
João
|
@zbelial , I made the relevant changes in
Other relevant references |
(eglot-eclipse-jdt): Specify VM arguments.