_____ _ ____ _ _ ____
|_ _| _ __| |__ ___ | _ \| | | | _ \
| || | | | __| '_ \ / _ \| |_) | |_| | |_) |
| || |_| | | | |_) | (_) | __/| _ | __/
|_| \__,_|_| |_.__/ \___/|_| |_| |_|_|
A TurboPascal-style IDE for PHP
A retro TurboPascal/QBasic-style terminal IDE for writing, running, and formatting PHP code. Built with Rust using the ratatui TUI framework.
- Classic DOS blue interface with authentic color palette
- Full-featured text editor with undo/redo
- PHP syntax highlighting
- Run PHP scripts directly (F9)
- Format code with php-cs-fixer (Alt+F9)
- Menu bar with keyboard navigation
- File open/save dialogs
- Find functionality
- Split-panel output display
- Free Reversi
- Rust 1.70+ (for building)
- PHP CLI (for running scripts)
- php-cs-fixer (optional, for code formatting)
git clone https://github.com/yourusername/turbophp.git
cd turbophp
cargo build --releaseThe binary will be at ./target/release/turbophp
composer global require friendsofphp/php-cs-fixer# Start with empty file
turbophp
# Open existing file
turbophp myfile.php| Key | Action |
|---|---|
| F1 | Help |
| F2 | Save file |
| F3 | Open file |
| F9 | Run PHP script |
| F10 | Open menu |
| Alt+F9 | Format code |
| Alt+X | Exit |
| Key | Action |
|---|---|
| Ctrl+N | New file |
| Ctrl+O | Open file |
| Ctrl+S | Save file |
| Ctrl+Z | Undo |
| Ctrl+Y | Redo |
| Ctrl+X | Cut |
| Ctrl+C | Copy |
| Ctrl+V | Paste |
| Ctrl+A | Select all |
| Ctrl+F | Find |
| Key | Action |
|---|---|
| Arrow keys | Move cursor / Navigate menus |
| Enter | Select menu item |
| Esc | Close menu/dialog/output |
| Page Up/Down | Scroll output |
TurboPHP stores its configuration in ~/.config/turbophp/config.toml:
php_path = "php"
php_cs_fixer_path = "php-cs-fixer"
tab_size = 4
use_spaces = true- ratatui - Terminal UI framework
- crossterm - Cross-platform terminal manipulation
- tui-textarea - Text editor widget
- syntect - Syntax highlighting
- tokio - Async runtime
Why not?
MIT License - See LICENSE file for details.
Contributions are welcome! Feel free to submit issues and pull requests.
"In the beginning, there was blue. And it was good."
