* feat(vcs): IDEA's diff algorithm and change colouring in the diff viewer Port IntelliJ's text comparison to TypeScript (src/features/vcs/comparison): Myers/patience LCS with unique-element discarding, ByLine (smart matching that skips unimportant lines, chunk optimizer, second-step correction), ByWord (word chunks, punctuation matching, whitespace policies, line block splitting) and ComparisonManager's compareLinesInner / processBlocks. The port runs IntelliJ's own LineComparisonUtilTest, WordComparisonUtilTest and SplitComparisonUtilTest cases (459 runs), converted to ideaCases.json. MergeView chunks now come straight from these line fragments, with the inner word fragments as chunk changes, instead of @codemirror/merge's presentable diff. Revert and >> / << replace lines as DiffUtil.applyModification does. Colour changes as IDEA does: modified (blue), inserted (green) and deleted (grey) by chunk type, a lighter line background for chunks whose words were compared, each word fragment in its own type at full line height, a thin bar for a fragment empty on one side, and the colours carried into the gutters and the divider bands. New --diff-modified / --diff-inserted / --diff-deleted theme tokens, imported from .icls DIFF_* attributes. Add a Playwright suite over a generated git repository of diff cases, including 10,000-line files, in every viewer mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(vcs): preserve unified revert boundaries and bound large diffs --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: l0ng-ai <24760907+l0ng-ai@users.noreply.github.com>
The IDE you know, rebuilt in Rust.
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.