Fresh is a terminal-based text editor and IDE written in Rust that aims to bring the familiar user experience of graphical editors like VS Code and Sublime Text to the command line. The project emphasizes zero configuration setup with standard keybindings, full mouse support, and IDE-level features that work intuitively out of the box without requiring users to learn modal editing or memorize complex shortcuts.
The editor includes a comprehensive set of features organized across multiple categories. File management capabilities encompass opening, saving, creating, and closing files, along with a file explorer, tab support, auto-revert functionality, and git file finding. The editing suite provides undo/redo, multi-cursor editing, block selection, smart indentation, comment toggling, and clipboard operations. Search and replace functionality includes incremental search, find-in-selection, query replace, and git grep integration. Navigation features allow jumping to specific lines or brackets, word movement, position history tracking, bookmarks, and error navigation. The interface supports split panes, line numbers, line wrapping, customizable backgrounds, and markdown preview. Language Server Protocol integration enables go-to-definition, references, hover information, code actions, rename refactoring, diagnostics, and autocompletion. Additional productivity features include a command palette, menu bar, keyboard macros, git log viewing, and a diagnostics panel. The editor supports TypeScript-based plugins running in a sandboxed QuickJS environment, with built-in plugins for color highlighting, TODO highlighting, merge conflict handling, and path completion. Internationalization support includes multiple language translations with a plugin translation system.
Fresh is designed for real-world performance, capable of handling multi-gigabyte files with negligible memory overhead while maintaining consistently low-latency input response regardless of file size. The project provides extensive installation options across multiple platforms including macOS, Windows, various Linux distributions, FreeBSD, and Nix, with methods ranging from package managers like brew and winget to pre-built binaries, AppImage, Flatpak, and source compilation.
The project includes daily version checking and anonymous telemetry collection to understand usage patterns, though users can disable both features through command-line flags or configuration settings. Fresh is licensed under the GNU General Public License v2.0 and maintains comprehensive documentation including a user guide, macOS-specific configuration tips, and plugin development resources.