gitmyhub

flow

★ 0 updated 1y ago ⑂ fork

Flow Control: a programmer's text editor

A lightning-fast code editor built in Zig that runs entirely in your terminal, with syntax highlighting, language server support, and multi-cursor editing.

ZigTree-sittersetup: moderatecomplexity 2/5

Flow Control Explanation

Flow Control is a text editor built from scratch in the Zig programming language, designed to work inside your terminal. Instead of opening a separate window like VS Code or Sublime, it runs directly in the command line and works on Linux, Mac, Windows, and even Android (via Termux). The main draw is speed—the creator built it to be lightning-fast, handling common editing tasks in milliseconds, and uses it daily for their own coding work.

At its core, Flow Control is a traditional code editor with modern features packed in. It understands code syntax and colors it appropriately using tree-sitter (a parsing tool), integrates with language servers to catch errors and let you jump to where functions are defined, and supports multiple cursors so you can edit several parts of a file at once. You can search across files, use a command palette to trigger actions, and undo or redo as many times as you want. It also speaks both VS Code and Vim keyboard shortcuts, so if you're coming from either camp, you won't feel lost.

The editor is distributed as a single standalone binary—once compiled, you can copy it to any machine and run it immediately with no dependencies or installation fiddling. Configuration is stored in standard places on your system (like ~/.config/flow on Linux), and you can open files from the command line the way you'd expect: flow myfile.txt:123 jumps straight to line 123. Because it lives in your terminal, it works over SSH and in any environment where a graphical editor isn't practical.

You'd use this if you're comfortable working in a terminal and want a modern, fast editor without the overhead of Electron-based tools. It's particularly useful for remote work, quick edits over SSH, or if you just prefer the terminal workflow. The README notes that not all terminal emulators are equally supported—Kitty, Foot, and Ghostty work best—and you'll need a terminal that handles true color and Unicode properly. The project is under active development and stable enough to be someone's daily driver, though a few features like completion UI and persistent undo are still in progress.

Where it fits