Echo is a lightweight, terminal-based text editor written in Rust. It provides a simple and efficient way to edit text files directly from the command line.
- Terminal-based interface
- Basic text editing capabilities
- File loading and saving
- Cursor movement (arrow keys, home, end, page up/down)
- Status bar showing file information
- Support for UTF-8 text
- Terminal resizing support
echoEditor.mp4
- Rust and Cargo (Rust's package manager)
- A terminal that supports ANSI escape codes
- Clone the repository:
git clone https://github.com/yourusername/echo.git
cd echo
- Build the project:
cargo build --release
- Run the editor:
cargo run --release [filename]
Ctrl + q
: Quit the editors
: Save the current file- Arrow keys: Move the cursor
- Home/End: Move to start/end of line
- Page Up/Page Down: Scroll through the document
- Backspace/Delete: Delete characters
- Enter: Insert new line
- Tab: Insert tab character
You can open a file by passing its name as an argument:
cargo run --release path/to/file.txt
src/main.rs
: Entry point of the applicationsrc/editor.rs
: Core editor functionalitysrc/terminal.rs
: Terminal handling and screen managementsrc/view.rs
: Document view and renderingsrc/statusbar.rs
: Status bar implementation
crossterm
: Terminal manipulation libraryderive_more
: Additional derive macrosunicode-segmentation
: Unicode text segmentationunicode-width
: Unicode character width calculation
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.