Rutar is a lightweight, high-performance code editor built with Tauri, React 19, and Rust.
- Tree-sitter syntax highlighting powered by Rust backend tokens.
- Virtualized editor rendering for smooth large-file editing.
- Outline sidebar for structured files and programming languages.
- Markdown live preview panel with Mermaid support and scroll sync.
- Editable side-by-side diff tabs with backend-aligned line comparison.
- Rust-side search/filter sessions and word count to keep UI responsive.
- Locked tabs, recent files/folders, and persisted user settings.
- Bilingual UI (English and Simplified Chinese).
- Frontend: React 19, TypeScript, Vite, Zustand, Tailwind CSS 4.
- Backend: Rust, Tauri v2, tree-sitter, ropey, dashmap.
- Node.js (LTS)
- Rust (stable)
npm install --legacy-peer-deps
npm run tauri dev# frontend
npm run dev
npm run build
npx tsc
npm run test
npm run test:watch
# tauri / rust
npm run tauri dev
npm run tauri build
cd src-tauri && cargo check
cd src-tauri && cargo test- User config file:
%AppData%\Rutar\config.json. - Common options: language, font family/size, tab width, line ending, word wrap, recent items, pinned tabs, window state, mouse gestures.
- Markdown preview currently requires
app.security.freezePrototype = falseinsrc-tauri/tauri.conf.jsonbecause of Mermaid runtime compatibility. - Locked tabs are persisted by path in
pinnedTabPathsand restored on startup.
src/: React frontend.src-tauri/: Rust backend and Tauri commands.AGENTS.md: repository engineering and agent guidelines.
MIT