Skip to content

IMPORTANT #15

@idelice

Description

@idelice

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions