Text Editor in C++
WIPA from-scratch text editor in C++ — partly a tool, mostly an excuse to deeply understand buffer data structures, raw input handling, and how editors stay responsive under load.
- Role
- Solo developer
- Timeline
- 2024 – present
- Stack
- C++
- Performance
- Fundamentals
- Personal Project
The problem
Editors are one of the tools I rely on every day, but my mental model of them stopped at "there's a buffer somewhere." I wanted to fix that.
The approach
I'm building it incrementally — first a minimal terminal-mode editor with a gap buffer, then layering on richer features (undo stack, search, syntax highlighting). I keep the dependencies tiny so every layer of the stack is mine to understand.
Implementation highlights
- Gap-buffer-backed text storage with O(1) local edits.
- Custom input handling rather than relying on a UI framework.
- Profiling-driven; performance work is part of the project, not an afterthought.
Outcome & lessons
Still in flight. Ongoing notes from the project will land on the blog as I add features and run into interesting performance trade-offs.
Want to chat about this work, collaborate, or just say hi? Reach out.