https://github.com/wojtczyk/trust
TRUST – Coding Rust like it's 1989
https://github.com/wojtczyk/trust
cargo ide ratatui retro rust terminal tui
Last synced: 3 days ago
JSON representation
TRUST – Coding Rust like it's 1989
- Host: GitHub
- URL: https://github.com/wojtczyk/trust
- Owner: wojtczyk
- License: mit
- Created: 2026-05-07T05:43:49.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-20T04:24:58.000Z (23 days ago)
- Last Synced: 2026-05-20T06:48:04.935Z (23 days ago)
- Topics: cargo, ide, ratatui, retro, rust, terminal, tui
- Language: Rust
- Size: 1.25 MB
- Stars: 230
- Watchers: 2
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-repos - wojtczyk/trust - TRUST – Coding Rust like it's 1989 (Rust)
README
# TRUST
TRUST is a retro TUI IDE for Rust projects inspired by classic blue-screen DOS
development environments.
Status: experimental nostalgia project. It edits files, browses Rust projects,
and runs Cargo commands.
## New IDE Features
- `rust-analyzer` powered autocomplete for Rust files, with a built-in fallback
completion list if the language server is unavailable.
- Clickable top-bar `Run`, `Debug`, and `BP` controls.
- Source-level breakpoints in the editor gutter and a basic LLDB-backed debug
loop with continue and stepping commands.
## Screenshots
Building and running "Hello World" in TRUST.
| Starting a project | Running a console program |
| --- | --- |
|  |  |
TRUST can build TRUST.
| TRUST Editor | Running Tests |
| --- | --- |
|  |  |
## FAQ
**Why?**
Because Rust deserves a blue-screen IDE from the olden days and someone had to do this.
**Does it save my files?**
Yes. Use `F2` or `Ctrl+S`. TRUST marks dirty buffers with `*` in the editor title. Still, this is more of a fun project so use at your own risk.
**Is this affiliated with any classic DOS IDE vendor?**
No. TRUST is an independent nostalgia project inspired by classic DOS development environments.
## Run
```sh
cargo run -- /path/to/rust/project
```
If no path is supplied, TRUST opens the current directory.
## Keys
- `F1`: help
- `F2` / `Ctrl+S`: save
- `F3` / `Ctrl+O`: open selected file
- `Backspace`: go to the parent directory in the project pane
- `F4`: cycle focus
- `F5` / `Ctrl+R`: `cargo run`
- `F6`: toggle breakpoint on the current line
- `F7`: `cargo check`
- `F8` / `Ctrl+T`: `cargo test`
- `F9` / `Ctrl+B`: `cargo build`
- `F10`: open the menu bar
- `Ctrl+F`: find in the current file
- `Ctrl+G`: jump to the next search match
- `Ctrl+Z`: undo
- `Ctrl+Y` / `Ctrl+Shift+Z`: redo
- `F11`: debugger step into
- `F12`: debugger step over
- `Shift+F11`: debugger step out
- `Shift+F5`: stop the active debug session
- `Ctrl+C`: copy selected text
- `Ctrl+D`: start or continue the debugger
- `Ctrl+Space`: request autocomplete suggestions
- `Ctrl+V`: paste clipboard text
- `Ctrl+X`: cut selected text
- `Esc` / `Ctrl+Q`: quit
- `Alt+X`: delete line
- `Alt+U`: duplicate line
- `Tab`: indent
- `Shift+Tab`: unindent
- `Shift+Navigation`: select text
- In the editor, `Enter` inserts an auto-indented new line.
## Menus
- `F10` opens the menu bar.
- Left/right arrows switch menus.
- Up/down arrows move through a dropdown.
- `Enter` activates the highlighted menu item.
- `Esc` closes the menu.
- Mouse clicks on the menu bar and dropdown items work too.
- `Edit` now includes `Undo` and `Redo`.
- `Search` now includes `Find` and `Find next` for the current file.
- `Debug` contains start/continue, breakpoint, step, and stop commands.
- `File > New` asks for a filename and creates it in the current project pane
directory.
- `Project > New project` opens the Cargo project dialog with parent directory,
project name, and `bin` / `lib` selector.
- `Window` switches between panes and contains the former focus option.
## Mouse
- Click inside the editor to move the cursor.
- Click inside the left editor gutter, or use `F6`, to toggle a breakpoint.
- Drag inside the editor to select text.
- Click the top bar `Run`, `Debug`, or `BP` buttons to trigger those actions.
- Click inside the project pane to open editable files or navigate directories.
- Click inside any pane to focus it.
- Drag the vertical divider between project and editor panes to resize them.
- Drag the top border of the compiler/message pane to resize it.
- Scroll inside the project, editor, or message pane to move through content.
The project pane lists directories plus editable Rust and Cargo-related files
such as `.rs`, `.toml`, and `.lock`, while skipping `.git`, `target`, and common
editor/build directories. Compiler output is captured in the bottom pane.