Skip to content

feat(windows): start built-in Java LSP through the host - #120

Merged
1lck merged 2 commits into
preview/0.3.0from
feat/windows-java-lsp
Aug 17, 2026
Merged

feat(windows): start built-in Java LSP through the host#120
1lck merged 2 commits into
preview/0.3.0from
feat/windows-java-lsp

Conversation

@1lck

@1lck 1lck commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Start Windows Java language support as a built-in host capability, not a marketplace extension.
  • Discover jdtls and a local JDK, then call shared Core lsp.startServer with providerId: "java".
  • Index Spring configuration, @Value, and bean injections with spring.index, and resolve those locations before falling back to the language server.
  • On F12 / Find Usages, say when the Java language server is starting, failed, or not ready instead of No definition found.
  • Follow IDEA-style navigation: Ctrl+click goes to the declaration, Ctrl+B finds usages, and a single remaining reference jumps there directly.

Verification

  • ./scripts/verify-windows-boundaries.sh
  • bun test src/features/editor/lsp/built-in-language-support.test.ts
  • bun test src/features/editor/lsp/language-server-navigation.test.ts
  • bun test src/features/spring/utils/spring-navigation.test.ts
  • bun test src/features/editor/utils/go-to-definition-gesture.test.ts
  • bun test src/features/keymaps/defaults/default-keymaps.git-log.test.ts
  • bun run typecheck in windows/tauri
  • cargo test --manifest-path windows/tauri/src-tauri/Cargo.toml lsp::

Not verified on a Windows machine with a live jdtls session. Java users are expected to already have a JDK; jdtls still needs to be on PATH or in a known install location.

1lck added 2 commits August 17, 2026 10:07
Open Java files on Windows with the shared Core Java provider instead of
the extension marketplace. The host finds jdtls and a local JDK, then
starts lsp.startServer with providerId java so definition and references
can use the same session as macOS.
@1lck
1lck merged commit 6a2a0ea into preview/0.3.0 Aug 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant