A lightweight terminal text editor written in Rust.
Lynx is a personal project built to learn Rust by implementing a text editor from scratch, inspired by editors such as Vim and Nano. It is currently in the early stages of development and is intended as a learning project rather than a fully featured editor.
Status: 🚧 Work in Progress
The primary goal of this project is to explore Rust through a real-world application. Instead of following small tutorials, I wanted to learn by building something practical and gradually adding features over time.
- Terminal-based interface
- Keyboard input handling
- Basic text editing
- Written entirely in Rust
- Cross-platform terminal support using
crossterm
- Rust (stable)
- Cargo
Install Rust from:
Clone the repository:
git clone https://github.com/ReVuz/lynx.git
cd lynxRun the editor:
cargo runcargo buildFor an optimized release build:
cargo build --releasesrc/
├── editor.rs # Editor implementation
└── main.rs # Application entry point
crossterm— cross-platform terminal manipulation
Some features I plan to implement while learning Rust include:
- Better cursor movement
- Opening and saving files
- Status bar
- Line numbers
- Search functionality
- Syntax highlighting
- Configuration support
- Undo/Redo
- Multiple buffers
- Improved performance
This project is primarily a personal learning exercise, so I'm not accepting external contributions at the moment.
Feel free to open an issue if you discover a bug or have suggestions.
MIT License.
Inspired by terminal editors such as:
- Vim
- Nano
- Kilo (the small editor used in many text editor tutorials)
Revathy M R
GitHub: https://github.com/ReVuz