You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By default, eglot-java dynamically modifies the eglot-server-programs variable for launching the Eclipse JDT LS server.
Some users might not realize that, even though it's documented (Package headers and GitHub project README), and that will result into both frustration and time wasted.
Scenario 1 - eglot changes how LSP servers can be mapped to programming modes
Problem: The LSP server won't start properly or might not account for user-provided settings
Request
Changes
There's an existing variable that controls how eglot-java dynamically modifies the value of eglot-server-programs.
eglot-java-eglot-server-programs-manual-updates is a variable defined in ‘eglot-java.el’.
Its value is nil
Do not try to automatically update eglot-server-programs
The change will change the default value of eglot-java-eglot-server-programs-manual-updates to t. The project documentation will also need to be updated to reflect that
Expected Impacts
Potentially negligible for the vast majority of new users.
People typically installed eglot-java when they do not want an involved configuration
By that time, they might already have an awareness of jdtls startup scripts and mostly value eglot-java for its ability to automatically install the Eclipse JDT LS server.
Potentially annoying for existing users, as it may break their existing customization
Any custom JVM arguments would be ignored when switching to the jdtls script
Windows or Mac OS users don't necessarily have Python installed and they might not be aware that the jdtls script needs it...
Caveats
I don't feel that eglot java defaults are that good myself: see joaotavora/eglot#1008 (comment). Either way, it's probably better to have an explicit user opt-in (eglot-java magic), instead of people continuously running into configuration issues...
The text was updated successfully, but these errors were encountered:
Background
By default,
eglot-java
doesn't use the Eclipse JDT LS startup scripts (jdtls
binary).jdtls
startup scripts existed (See Put this bash script into the appropriate location eclipse-jdtls/eclipse.jdt.ls#1823)jdtls
startup scripts require aPython
installationPython
is typically pre-installed on Linux, as many programs use thatPython
is not pre-installedPython
is also not bundled anymore as of MacOS Monterey 12.3Problem
By default,
eglot-java
dynamically modifies theeglot-server-programs
variable for launching the Eclipse JDT LS server.Some users might not realize that, even though it's documented (Package headers and GitHub project README), and that will result into both frustration and time wasted.
Scenario 1 - eglot changes how LSP servers can be mapped to programming modes
eglot
won't be able to start the LSP server, with obscure error emacs-lisp messagesScenario 2 - users have already configured eglot-server-programs to their liking for jdtls
Request
Changes
There's an existing variable that controls how
eglot-java
dynamically modifies the value ofeglot-server-programs
.The change will change the default value of
eglot-java-eglot-server-programs-manual-updates
tot
. The project documentation will also need to be updated to reflect thatExpected Impacts
eglot-java
when they do not want an involved configurationjdtls
startup scripts and mostly valueeglot-java
for its ability to automatically install the Eclipse JDT LS server.Python
installed and they might not be aware that thejdtls
script needs it...Caveats
I don't feel that
eglot
java defaults are that good myself: see joaotavora/eglot#1008 (comment). Either way, it's probably better to have an explicit user opt-in (eglot-java
magic), instead of people continuously running into configuration issues...The text was updated successfully, but these errors were encountered: