
TUI text editor built with Zig, featuring tree-sitter syntax highlighting, LSP support, and multiple keybinding modes
Flow Control is a terminal-based text editor written in Zig that provides sub-6ms frame times with animated scrolling and low-latency input handling. The editor supports over 70 programming languages through tree-sitter syntax highlighting with zero configuration required, and includes pre-configured Language Server Protocol support for most language servers.
The editor features a comprehensive UI with tabs, scrollbars, palettes, and full mouse support. It supports powerful multi-cursor editing, integrated clipboard history, and infinite undo capabilities. Flow Control uses a hybrid rope/piece-table buffer system that can handle very large files with thousands of cursors efficiently.
Flow Control accommodates different editing preferences through multiple pre-configured keybinding modes including Flow Control (GUI IDE style similar to VS Code), Emacs, Vim, and Helix modes. Users can also create custom keybinding configurations. The editor runs on Linux, FreeBSD, macOS, Windows, and Android (via Termux) and supports cross-compilation to all targets.
The editor requires a modern terminal with 24-bit color support and ideally kitty keyboard protocol support, with Kitty, Foot, and Ghostty being the recommended terminals. It also requires NerdFont support and a UTF-8 locale for optimal functionality.
# via Build from source
zig build -Doptimize=ReleaseSafe
