Here’s a concise TODO list with main functionality names:
- Initialize Project: Set up Rust project and dependencies
- Editor Setup: Define
Editorstruct and main loop
- Text Storage: Implement buffer to store lines
- Text Manipulation: Add
insertanddeletefunctionality
- Position Tracking: Set up
Cursorstruct withxandypositions - Navigation: Implement movement (up, down, left, right)
- Input Capture: Process keyboard input with
crossterm - Mode-Specific Commands: Handle Normal and Insert modes
- Mode Switching: Implement Normal and Insert modes
- Terminal Control: Set up raw mode and cursor placement
- Screen Refresh: Clear and render updated content
- Open and Save: Implement file read and write functions
- Unit Tests: Test buffer, cursor, and file operations