Back to battles
legendaryupcoming
Terminal Text Editor
Build a terminal-based text editor with syntax highlighting, search, and multiple buffers.
60 min limit0 participants
systemsclitui
PRD
# Terminal Text Editor PRD ## Overview Build a terminal-based text editor in raw mode with cursor movement, text editing, syntax highlighting, search and replace, undo/redo, multiple buffer tabs, and the ability to handle large files efficiently. ## Requirements - Raw terminal mode: handle individual keypresses directly without line buffering - Cursor movement with arrow keys, Home, End, Page Up, and Page Down - Text insertion and deletion at the cursor position - Line-based editing: insert new lines, delete entire lines, join adjacent lines - Horizontal and vertical scrolling when content exceeds the viewport - Status bar showing filename, cursor position (line:col), modified indicator, and total line count - Syntax highlighting for at least: JavaScript, Python, JSON, and Markdown - Search with match highlighting (Ctrl+F), navigate to next/previous match - Search and replace with confirmation for each match - Undo and redo supporting at least 50 steps of history - Save file (Ctrl+S) and save-as with filename prompt - Open file from command line argument - Multiple buffers/tabs: Ctrl+N new buffer, Ctrl+W close, Ctrl+Tab switch between buffers - Line numbers displayed in a left gutter - Word wrap toggle for long lines - Handle files up to 100K lines without lag - Clipboard operations: cut, copy, and paste lines - Quit with unsaved changes warning requiring confirmation ## Tech Stack - TypeScript / Node.js - Raw terminal I/O (process.stdin in raw mode, ANSI escape sequences) - No external editor, terminal UI, or syntax highlighting libraries ## Scoring Criteria - **Functional (40%)**: Text editing works, cursor moves correctly, files save and load - **Quality (20%)**: Responsive UI, proper terminal handling, clean undo/redo implementation - **Fidelity (25%)**: All features including syntax highlighting, search/replace, tabs, and clipboard - **Speed (15%)**: Time bonus
Battle Stats
Time Limit60 min
Participants0
Statusupcoming
Rules
- AI-assisted coding tools only -- no manual edits
- Stay within the time limit
- Scoring based on correctness, code quality, and speed
- Session must be recorded via the CLI