l0ng-ai 3c783e8b5a fix(lsp): Start jdtls on the JVM directly and report server output outside the protocol
On Windows the downloaded jdtls was started through bin/jdtls.bat, which runs
`python` and then `pause`. Without a working Python the batch file printed
pause's prompt in the console code page on stdout; the client stopped reading at
that "non-UTF-8 header", killed the process and showed only "exited with code 1".

- jdtls: build the JVM command line of the release's launcher script (Equinox
  launcher jar, per-platform shared configuration, JDK 24+ XML limits, --jvm-arg
  options, -data) and start `java` from the selected JDK directly, on every
  platform. Own wrapper scripts and other layouts keep their command.
- JSON-RPC transport: stdout lines that cannot start a message header are
  decoded, logged and handed to the stderr callback instead of ending the
  connection; stderr and these lines are decoded as UTF-8, else in the Windows
  OEM/ANSI code page, else lossily.
- A process that exits on its own is reported closed only after its remaining
  output is read, and a failed initialize waits for the exit, so the crash
  message carries the real exit code and the last lines.
- TCP-started language servers and DAP adapters read their output the same way
  (a non-UTF-8 line no longer stops the reader); stray adapter stdout goes into
  the adapter's error tail.

Fixes #90

Claude-Session: https://claude.ai/code/session_01VUYsdXA2nkF5v6zsC93dpn
2026-10-27 20:42:08 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00
2026-10-27 17:58:55 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00
2026-10-27 17:58:55 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00
2026-10-22 18:55:10 +08:00

OpenIDEA

The IDE you know, rebuilt in Rust.

Download  ·  Benchmark  ·  Build

https://github.com/user-attachments/assets/234dd54c-1255-4b3a-b35c-533d78d737c0

OpenIDEA brings the IntelliJ IDEA way of working — its keymap, its tool windows, its search-everything habits — to a native app with a Rust core.

Editor, code insight, debugger, Git, terminal, database and HTTP clients, for 60+ languages. Builds for macOS, Windows and Linux.

Benchmark

Opening freqtrade (Python, ~770 files) with warm caches, median of 5 runs:

OpenIDEA IntelliJ IDEA 2026.2.3
Window with the project 0.9 s 3.1 s
Ready (CPU settled) 1.1 s 13.2 s
Memory (USS, all processes) 169 MB 2011 MB
CPU time until ready 2.4 s 47.9 s
Idle CPU 4 % of a core 7 % of a core
Quit 0.3 s 5.9 s

A release build of OpenIDEA from main and IDEA with default settings and plugins, on Windows 11, 32-core AMD, 62 GB RAM. IDEA analyses Python more deeply, so "ready" doesn't mean the same work on both sides. Both are measured from the outside, the same way: see perf/compare to run it on your machine and projects.

Build

pnpm install
pnpm tauri dev

Rust 1.96, Node 22, pnpm and the Tauri prerequisites.

License

Apache 2.0. Bundled third-party assets are listed in THIRD_PARTY_LICENSES.md.

Not affiliated with JetBrains. IntelliJ IDEA is a trademark of JetBrains s.r.o.

S
Description
The IDE you know, rebuilt in Rust. IntelliJ IDEA–style keymap, tool windows and search-everywhere in a fast native app: editor, code insight, debugger, Git, terminal, database and HTTP clients for 60+ languages.
Readme Apache-2.0
60 MiB
Languages
TypeScript 56.4%
Rust 39.9%
CSS 2.2%
Python 0.5%
Java 0.4%
Other 0.4%