New top story on Hacker News: Show HN: Fresh – A new terminal editor built in Rust

Show HN: Fresh – A new terminal editor built in Rust
9 by _sinelaw_ | 7 comments on Hacker News.
I built Fresh to challenge the status quo that terminal editing must require a steep learning curve or endless configuration. My goal was to create a fast, resource-efficient TUI editor with the usability and features of a modern GUI editor (like a command palette, mouse support, and LSP integration). Core Philosophy: - Ease-of-Use: Fundamentally non-modal. Prioritizes standard keybindings and a minimal learning curve. - Efficiency: Uses a lazy-loading piece tree to avoid loading huge files into RAM - reads only what's needed for user interactions. Coded in Rust. - Extensibility: Uses TypeScript (via Deno) for plugins, making it accessible to a large developer base. The Performance Challenge: I focused on resource consumption and speed with large file support as a core feature. I did a quick benchmark loading a 2GB log file with ANSI color codes. Here is the comparison against other popular editors: - Fresh: Load Time: *~600ms* | Memory: *~36 MB* - Neovim: Load Time: ~6.5 seconds | Memory: ~2 GB - Emacs: Load Time: ~10 seconds | Memory: ~2 GB - VS Code: Load Time: ~20 seconds | Memory: OOM Killed (~4.3 GB available) (Only Fresh rendered the ansi colors.) Development process: I embraced Claude Code and made an effort to get good mileage out of it. I gave it strong specific directions, especially in architecture / code structure / UX-sensitive areas. It required constant supervision and re-alignment, especially in the performance critical areas. Added very extensive tests (compared to my normal standards) to keep it aligned as the code grows. Especially, focused on end-to-end testing where I could easily enforce a specific behavior or user flow. Fresh is an open-source project (GPL-2) seeking early adopters. You're welcome to send feedback, feature requests, and bug reports. Website: https://sinelaw.github.io/fresh/ GitHub Repository: https://ift.tt/RaYq3yz

No comments