A developer spent 2 years building their own TUI text editor in Rust after being dissatisfied with existing options like Helix, Neovim, and Emacs. Key engineering challenges covered include cursor manipulation, a fuzzy file browser with simple but effective ranking heuristics, a custom regex engine with multiple performance optimizations (threaded code VM, CPS form, vtable-free dispatch), demand-driven incremental syntax highlighting, multi-threaded project-wide search with work-stealing, and an integrated terminal emulator using the alacritty_terminal crate. The author advocates for building personal tools as a way to learn deeply, improve productivity, and rediscover joy in programming.

16m read timeFrom blog.jsbarretto.com
Post cover image
Table of contents
Starting outEating the dogfoodCursor manipulationFile browserRegexHighlightingProject searchTerminal emulator buffersRenderingConclusion

Sort: