Prerequisites
Rust Toolchain
Required: Rust 2021 edition or laterInstall via rustup
Cargo
Required: Cargo package managerComes bundled with Rust
Rode requires Rust 2021 edition as specified in
Cargo.toml. Ensure your Rust installation is up to date:Quick Start
The fastest way to get Rode running:Build Commands
Development Build
For testing and development:Release Build
For production use with optimizations:Running Tests
Rode includes a test suite in thetests/ directory:
Dependencies
Rode relies on the following core dependencies (fromCargo.toml):
GUI Frameworks
View GUI Dependencies
View GUI Dependencies
| Dependency | Version | Purpose |
|---|---|---|
eframe | 0.29 | egui framework wrapper |
egui | 0.29 | Immediate mode GUI library |
iced | 0.14.0 | Widget-based GUI framework |
Syntax Highlighting
View Syntax Dependencies
View Syntax Dependencies
| Dependency | Version | Purpose |
|---|---|---|
tree-sitter-highlight | 0.25 | Syntax tree parsing |
tree-sitter-rust | 0.24 | Rust grammar |
tree-sitter-javascript | 0.23 | JavaScript grammar |
tree-sitter-typescript | 0.23 | TypeScript grammar |
tree-sitter-python | 0.23 | Python grammar |
syntect | 5.x | Syntax highlighting engine |
Graphics & Rendering
View Graphics Dependencies
View Graphics Dependencies
| Dependency | Version | Purpose |
|---|---|---|
image | 0.24 | Image loading and processing |
resvg | 0.29 | SVG rendering |
usvg | 0.29 | SVG parsing |
tiny-skia | 0.11 | 2D graphics rendering |
File System & Search
View File System Dependencies
View File System Dependencies
| Dependency | Version | Purpose |
|---|---|---|
ignore | 0.4 | .gitignore-aware file walking |
fuzzy-matcher | 0.3 | Fuzzy string matching |
rfd | 0.15 | Native file dialogs |
include_dir | 0.7 | Embed directories at compile time |
Utilities
View Utility Dependencies
View Utility Dependencies
| Dependency | Version | Purpose |
|---|---|---|
serde | 1.0 | Serialization framework |
serde_json | 1.0 | JSON serialization |
regex | 1.10 | Regular expressions |
once_cell | 1.19 | Lazy static values |
dirs | 5.x | Platform-specific directories |
reqwest | 0.12 | HTTP client (for updates/WakaTime) |
All dependencies are automatically managed by Cargo. You don’t need to install them manually.
Platform-Specific Instructions
- macOS
- Linux
- Windows
macOS Silicon (M1/M2/M3)
For Apple Silicon Macs, download the pre-built binary:First Run on macOS
If macOS blocks the app as unverified:Allow the app
Scroll down to the Security sectionYou should see a message about
rode-editor-apple-siliconBuilding from Source
Installation via Crates.io
Rode is published on crates.io and can be installed with:- Download the latest stable version (currently 0.4.1)
- Compile with optimizations
- Install the binary to
~/.cargo/bin/rode-editor
Make sure
~/.cargo/bin is in your PATH to run rode-editor from anywhere.Build Optimization
Faster Compilation
To speed up compile times during development:-
Use the Mold Linker (Linux):
-
Enable Parallel Compilation:
-
Use cargo-watch for auto-rebuild:
Smaller Binaries
To reduce release binary size, add toCargo.toml:
Troubleshooting
Build fails with linker errors
Build fails with linker errors
Solution: Ensure you have a C/C++ compiler installed:
- macOS:
xcode-select --install - Linux:
sudo apt-get install build-essential - Windows: Install Visual Studio Build Tools
Cannot find OpenSSL
Cannot find OpenSSL
Solution: Install OpenSSL development headers:
- macOS:
brew install openssl - Linux:
sudo apt-get install libssl-dev - Windows: Use the
rustls-tlsfeature instead (reqwest already uses it)
Slow compilation on first build
Slow compilation on first build
Expected behavior: The first build compiles all dependencies from scratch.Typical first build times:
- Debug: 5-10 minutes
- Release: 10-15 minutes
Ran out of disk space during build
Ran out of disk space during build
Solution: Cargo builds can use significant disk space. Clean old artifacts:Or clean the global cache:
Commits are not stable
Commits are not stable
Solutions:
- Use releases from GitHub Releases
- Install via
cargo install rode-editorfor the latest stable version - Expect instability in nightly builds when they arrive
Development Workflow
Recommended workflow for Rode development:Build Artifacts
After building, you’ll find:Next Steps
Architecture
Understand Rode’s internal architecture
Contributing
Learn how to contribute to Rode