( ≖‿≖) a minimal yet powerful terminal code IDE with integrated GUI, written in Rust!
(◕‿◕) v1.0.1
( ≖‿≖) MIT License
( ◕‿◕) Rust
(๑❛ᴗ❛๑) Win · Linux · macOS
(ノ◕ヮ◕)ノ*:・゚✧ ✧・゚: *✧・゚
| Platform | Method |
|---|---|
| Windows | Download soyabean-1.0.1-x64-setup.exe from Releases and run the installer |
| Linux | Download soyabean-1.0.1-x86_64.AppImage, make executable, and run |
| macOS | Build from source (see below) |
| From Source | cargo install --git https://github.com/zenformality/soyabean |
# TUI version
soyabean [FILE...]
# GUI version (modern IDE with file tree, terminal, themes)
soyabean_gui [FILE...]- VS Code-style file explorer with drag & drop, context menus (New File/Folder, Rename, Delete, Reveal)
- Integrated terminal (PowerShell on Windows) with OSC 7 cwd tracking and command history
- Tabbed editing with file-type icons, current-line highlight, configurable cursor blink
- Themes: Zed Dark / Light / Tokyo Night — switch via Command Palette (
Ctrl+Shift+P) - Command palette for fuzzy command search
- Breadcrumbs navigation bar
- Status bar with mode, encoding, cursor position, git branch
- Syntax highlighting for 30+ languages (Rust, C/C++, Python, JS/TS, Go, Java, JSON, TOML, YAML, HTML, CSS, Shell, etc.) with multi-line block comments
- Fuzzy file finder (
Ctrl+P) with smart scoring (filename + word-boundary bonuses) - Multiple buffers with instant switching (
Alt+Left/Right,Alt+1..9) - Incremental search (
Ctrl+F) with smart case, wrap-around, live matching;F3/Shift+F3repeat - Undo / Redo with keystroke coalescing (
Ctrl+Z/Ctrl+Y) - Selections: mouse drag,
Shift+movement; copy/cut/paste with system clipboard mirroring - Smart editing: auto-indent on Enter, extra indent after
{ ( [ :, tab-aware Backspace, block indent/dedent, duplicate/move/delete line, word selection
- Click to place cursor, drag to select, wheel to scroll
- Unicode-aware (wide chars, tabs), CRLF/LF detection + preservation
- Line numbers, current-line highlight, smart Home key
- Image preview (PNG/JPG/GIF/BMP/WebP/ICO/TIFF) scaled to fit
- Audio playback (MP3/WAV/OGG/FLAC/M4A) with play/pause/stop and volume
- Drag & drop in file tree to move files/folders
- PowerShell (Windows) /
$SHELL(Linux/macOS) - OSC 7 cwd tracking — terminal updates sidebar on
cd - Command bar with cwd display, history (Up/Down), Enter/Run to execute
Ctrl+toggles terminal drawer
| Key | Action |
|---|---|
Ctrl+P / Ctrl+O |
Fuzzy open file |
Ctrl+S |
Save (prompts if untitled) |
Ctrl+N / Ctrl+W |
New / Close buffer |
Ctrl+F |
Find |
F3 / Shift+F3 |
Find next / previous |
Ctrl+G |
Go to line |
Ctrl+Z / Ctrl+Y |
Undo / Redo |
Ctrl+C / Ctrl+X / Ctrl+V |
Copy / Cut / Paste (whole line if no selection) |
Ctrl+D |
Select word / Duplicate line |
Ctrl+K |
Delete line |
Alt+Up/Down |
Move line up / down |
Alt+Left/Right |
Switch buffer |
Alt+1..9 |
Jump to buffer N |
Ctrl+Shift+P |
Command Palette |
| `Ctrl+`` | Toggle terminal |
Ctrl+Q |
Quit (twice to discard unsaved) |
F1 |
Show full shortcuts list |
Latest release: v1.0.1
| Platform | Artifact | SHA256 |
|---|---|---|
| Windows (installer) | soyabean-1.0.1-x86_64-setup.exe |
*.sha256 |
| Windows (portable) | soyabean-1.0.1-x86_64.zip |
*.sha256 |
| Linux (AppImage) | soyabean-1.0.1-x86_64.AppImage |
*.sha256 |
| Linux (tarball) | soyabean-1.0.1-x86_64.tar.xz |
*.sha256 |
| Source | source.tar.gz |
*.sha256 |
All artifacts include sha256.sum for verification. ٩(◕‿◕。)۶
# Prerequisites: Rust 1.97+, Git
git clone https://github.com/zenformality/soyabean
cd soyabean
# TUI only (minimal deps)
cargo build --release --bin soyabean
# GUI (needs ALSA on Linux: sudo apt install libasound2-dev)
cargo build --release --bin soyabean_guiBinaries land in target/release/. (ノ◕ヮ◕)ノ*:・゚✧
~2,500 lines across modules:
| Module | Role |
|---|---|
buffer.rs |
Text buffer, cursor, selection, undo/redo, search |
syntax.rs |
Table-driven per-line tokenizer with block-comment carry-over |
finder.rs |
Workspace scan + fuzzy subsequence scoring |
draw.rs |
Diff-free frame renderer with 24-bit colors |
editor.rs |
Modes, keymap, event loop |
media_view.rs |
Image preview + audio player (rodio) |
file_tree.rs |
Modern file explorer with drag & drop |
term.rs |
Embedded PTY terminal with ANSI parser |
editor_view.rs |
Syntax-highlighted editor pane |
soyabean_gui.rs |
Main GUI application |
Dependencies: crossterm, eframe/egui, image, portable-pty, rodio, unicode-width
MIT — see LICENSE for details.
Made with (◕‿◕✿) by zenformality
Built with Rust · Powered by egui
( ≖‿≖) ✧ thank you for stopping by! ✧ ( ◕‿◕)

