A Neovim config for Rust that I test like software
Description and use
The config delivers JetBrains‑like diagnostics, debugging, and safety net in Neovim, with a test suite of 906 passing checks.
Problem
Develop a terminal‑based Rust editing experience with instant diagnostics, debugging, test UI, and safety net similar to JetBrains tools.
Outcome
The config delivers JetBrains‑like diagnostics, debugging, and safety net in Neovim, with a test suite of 906 passing checks.
Workflow
- Install Neovim 0.12+ and clone xynovim repo
- Run bootstrap script to install plugins
- Open a Rust crate
- Use rust‑analyzer for instant type errors
- Use bacon‑ls for clippy lints on buffer change
- Debug with nvim‑dap and codelldb
- Use :RustContext to set Cargo features and build target
- Add dependencies via crate hint and Cargo.toml edit
- Run local history snapshots on save
- Invoke AI agent with 99 agent inside bubblewrap
- Run test suite with 906 passing checks
Evidence
rust‑analyzer answers while you type, with type errors in about 0.01 to 0.15 seconds.
Clippy follows about half a second later (0.56 s median): bacon‑ls runs it against a hardlinked shadow of your workspace on every buffer change, so lints show up before you save.
nvim‑dap with codelldb, a layout that suits Rust, and lldb's Rust formatters loaded automatically, so a String or a Vec shows its contents instead of {...}.
Every save is snapshotted as a commit under a private git ref (refs/lochist/). A bad refactor, a bad rename or a bad evening is one picker away from being undone.
The AI tool inside a setup I understand, so the 99 agent (Claude Code as the provider) runs inside bubblewrap with a restricted filesystem and hidden credentials, and a Local History snapshot is taken before every request.
The config ships with a suite you can run yourself: 906 passing checks across 32 spec files, one per feature area, in about six minutes on my machine.
- Record date: 2026-10-23T10:11:42.874Z