The responsibilities of the five Rust modules and the local quality gate.
Native architecture and validation
Module map
| Module | Responsibility |
|---|---|
| main.rs | Window, workspace views, tabs, commands, and repository state. |
| git.rs | Git command execution, parsers, status, diffs, refs, and mutations. |
| graph.rs | Lane assignment, edge geometry, and commit-graph painting. |
| input.rs | Unicode text editing, selection, clipboard, and native composition. |
| theme.rs | Dark/light palettes and shared visual primitives. |
Validation commands
cargo fmt --manifest-path native/Cargo.toml --check
cargo clippy --locked --manifest-path native/Cargo.toml --all-targets -- -D warnings
cargo test --locked --manifest-path native/Cargo.toml
Tests exercise graph lanes and edges, diff hunks, source-tree construction, sidebar sizing, and Git operations against temporary repositories. Fetch and push tests use a local bare remote and need no network.
Not yet implemented
- Conflict resolution, line/hunk staging, and interactive rebase.
- Branch deletion, tag creation, remote management, and history search.
- Persistent settings, recent repositories, progress for long network operations, and multiline commit editing.
- Reflog recovery, worktrees, submodules, Git LFS, provider pull requests, signed releases, and broader accessibility refinement.