-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Recent changes reset this server’s history: older commits were restored and some recent commits are no longer present. Below is a concise explanation of why that happened and what changed.
Why this happened
I began this fork to add Lombok support. While I got Lombok working, it introduced significant performance issues: javac’s interaction with Lombok’s annotation processing caused problems. The Lombok-related changes were spread deep across the codebase, and trying to remove them piecemeal risked breaking other parts.
To fix this, the server was given a fresh start that preserves the same core implementations but with a cleaner, more performant history and codebase.
What’s changed
- Partial Lombok support: IntelliJ-like behavior for synthetic members, lookups, and definitions. Full Lombok support (beyond completion for generated getters/setters) will be added before a stable release.
- Automatic package imports.
- Completions that would cause class-name conflicts now insert the package name (similar to IntelliJ).
- “Go to definition” works for classes inside JAR files.
- Javadoc formatting improvements (coming soon).
- Caching removed for now — its usefulness will be re-evaluated.
- Some build/dev scripts were reverted as they may no longer be necessary; this will be reviewed again.
- Most VS Code–specific code has been removed; I’ll audit this more thoroughly.
- README needs updating.
- nvim-jls will be updated soon to match these changes.
- CodeLens temporarily disabled due to performance issues (especially with JAR files); this is being investigated.
If you run into problems or have questions about any of the above, please reply here and I’ll follow up.