[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83537":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":10,"trendingCount":16,"starSnapshotCount":16,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},83537,"flow","neurocyte\u002Fflow","neurocyte","Flow Control: a programmer's text editor","https:\u002F\u002Fflow-control.dev",null,"Zig",2036,104,15,67,0,13,39,85.86,"MIT License",false,"master",true,[25,26,27,28,29,30],"language-server-client","language-server-protocol","text-editor","tree-sitter","tui","zig","2026-06-12 04:01:41","# Flow Control: a programmer's text editor\n\nThis is my Zig text editor. It is under active development, but very stable\nand is my daily driver for almost everything.\n\n[![Announcement](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FMf3k2uFkyK4\u002Fmaxresdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Mf3k2uFkyK4)\n\n\n# Features\n\n- **Lightning Fast** TUI with ≤6ms frame times, **low latency** input\n  handling and smooth **animated scrolling**\n- Intuitive UI with **tabs**, **scrollbars** and **palettes** with full\n  **mouse** support for all UI elements\n- Support for more than **70 programming languages**, **zero\n  configuration** needed, via **tree-sitter** powered syntax highlighting\n- **Language Server Protocol** pre configured support for most language\n  servers\n- Powerful **multi-cursor** editing and integrated **clipboard history**\n- Powerful configurable keybinding system that supports **modal** and\n  **non-modal** editing styles\n- Multiple pre-configured **keybinding modes**\n    - Flow Control - GUI IDE style bindings (similar to vscode)\n    - Emacs\n    - Vim\n    - Helix\n    - User created\n- Hybrid rope\u002Fpiece-table buffer system, edit **very large files** with\n  **thousands of cursors**\n- Infinite **undo** (at least until you run out of ram)\n- Full **unicode** support, including support for the kitty text sizing\n  protocol\n- Plenty of **themes** included and support for vscode themes via the\n  flow-themes project\n- Runs on **Linux, FreeBSD, MacOS, Windows and Android** (under termux)\n  with easy **cross-compilation** to all supported targets\n\n\n# Requirements\n\n- A modern terminal with **24bit color** and, ideally, **kitty keyboard\n  protocol** support. **Kitty**, **Foot** and **Ghostty** are the\n  recommended terminals at this time. **Zellij** also works well. Most\n  other terminals will work, but likely with reduced functionality.\n- **NerdFont** support. Either via terminal font fallback or a patched\n  font.\n- A **UTF-8** locale\n\n\n# Roadmap\n\nSee our [devlog](https:\u002F\u002Fflow-control.dev\u002Fdevlog\u002F2026\u002F) for on-going\nupdates from the development team.\n\n## In Development\n\n- LSP completion support\n- Persistent undo\u002Fredo\n- File watcher integration\n\n## Future\n\n- Collaborative editing\n- Plugin system\n- Multi-terminal sessions\n\n\n# Download \u002F Install\n\nThere is an [installation guide](https:\u002F\u002Fflow-control.dev\u002Finstallation) on\nthe main website, and source, release and nightly build binary\n[downloads](https:\u002F\u002Fflow-control.dev\u002Fdownloads).\n\nOr check your favorite local system package repository.\n\n[![Packaging status](https:\u002F\u002Frepology.org\u002Fbadge\u002Fvertical-allrepos\u002Fflow-control.svg)](https:\u002F\u002Frepology.org\u002Fproject\u002Fflow-control\u002Fversions)\n\n\n# Building\n\nMake sure your system meets the requirements listed above.\n\nFlow builds with zig 0.16 at this time. Build with:\n\n```shell\nzig build -Doptimize=ReleaseSafe\n```\n\nZig will by default build a binary optimized for your specific CPU. If you\nget illegal instruction errors add `-Dcpu=baseline` to the build command to\nproduce a binary with generic CPU support.\n\n\nThanks to Zig you may also cross-compile from any host to pretty much any\ntarget. For example:\n\n```shell\nzig build -Doptimize=ReleaseSafe -Dtarget=x86_64-windows --prefix zig-out\u002Fx86_64-windows\nzig build -Doptimize=ReleaseSafe -Dtarget=x86_64-macos-none --prefix zig-out\u002Fx86_64-macos\nzig build -Doptimize=ReleaseSafe -Dtarget=aarch64-linux-musl --prefix zig-out\u002Faarch64-linux\n```\n\nWhen cross-compiling zig will build a binary with generic CPU support.\n\n\nThe output binary is:\n\n```\nzig-out\u002Fbin\u002Fflow\n```\n\nIt is statically built (by default) and contains all the required\ntree-sitter parsers and queries. No additional runtime files are required.\n\n\n# Running Flow Control\n\nThe Flow Control binary is called `flow`.\n\nPlace it in your path for convenient access:\n\n```shell\nsudo cp zig-out\u002Fbin\u002Fflow \u002Fusr\u002Flocal\u002Fbin\n```\n\nOr if you prefer, let zig install it in your home directory:\n\n```shell\nzig build -Doptimize=ReleaseSafe --prefix ~\u002F.local\n```\n\nFlow Control is a single statically linked binary. No further runtime files\nare required. You may install it on another system by simply copying the\nbinary.\n\n```shell\nscp zig-out\u002Fbin\u002Fflow root@otherhost:\u002Fusr\u002Flocal\u002Fbin\n```\n\nFiles to load may be specifed on the command line:\n\n```shell\nflow fileA.zig fileB.zig\n```\n\nThe last file will be opened and the previous files will be placed in\nreverse order at the top of the recent files list. Switch to recent files\nwith Ctrl-e.\n\nCommon target line specifiers are supported too:\n\n```shell\nflow file.txt:123\n```\n\nOr Vim style:\n\n```shell\nflow file.txt +123\n```\n\nUse the --language option to force the file type of a file:\n\n```shell\nflow --language bash ~\u002F.bash_profile\n```\n\nShow supported language names with `--list-languages`.\n\nSee `flow --help` for the full list of command line options.\n\n\n# Documentation\n\n## User manual\n\nA basic user manual is available inside flow. You can open it with the\n`Open help` command (F1).\n\nIt is also available in the website\n[documentation](https:\u002F\u002Fflow-control.dev\u002Fdocs\u002F) section.\n\n## Development Resources\n\nAdditional [developer](https:\u002F\u002Fflow-control.dev\u002Fdocs\u002F#resources) resources\ncan be found on the Flow Control website at.\n\nThere is also an AI generated developer guide at\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002Fneurocyte\u002Fflow).\nAccuracy may vary. Check details against the referenced source code.\n\n\n# Configuration\n\nConfiguration is mostly dynamically maintained with various commands in the\nUI. It is stored under the standard user configuration path. Usually\n`~\u002F.config\u002Fflow` on Linux. %APPDATA%\\Roaming\\flow on Windows. Somewhere\nmagical on MacOS.\n\nThere are commands to open the various configuration files, so you don't\nhave to manually find them. Look for commands starting with `Edit` in the\ncommand palette.\n\nFile types may be configured with the `Edit file type configuration`\ncommand. You can also create a new file type by adding a new `.conf` file\nto the `file_type` directory. Have a look at an existing file type to see\nwhat options are available.\n\nLogs, traces and per-project most recently used file lists are stored in\nthe standard user application state directory. Usually\n`~\u002F.local\u002Fstate\u002Fflow` on Linux and %APPDATA%\\Roaming\\flow on Windows.\n\n\n# Key bindings and commands\n\nPress `F1` to view the online manual.\nPress `F4` to switch the current keybinding mode. (flow, vim, emacs, etc.)\nPress `ctrl+shift+p` or `alt+x` to show the command palette.\nPress `ctrl+F2` to see a full list of all current keybindings and commands.\n\nRun the `Edit keybindings` command to save the current keybinding mode to a\nfile and open it for editing. Save your customized keybinds under a new\nname in the same directory to create an entirely new keybinding mode.\nKeybinding changes will take effect on restart.\n\n\n# Terminal configuration\n\nKitty, Ghostty and most other terminals have default keybindings that\nconflict with common editor commands. I highly recommend rebinding them to\nkeys that are not generally used anywhere else.\n\nFor Kitty rebinding `kitty_mod` is usually enough:\n```\nkitty_mod ctrl+alt\n```\n\nFor Ghostty each conflicting binding has to be reconfigured individually.\n\n\n# Community\n\n![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1214308467553341470)\n\nJoin our [Discord](https:\u002F\u002Fdiscord.com\u002Finvite\u002F4wvteUPphx) server or use the\ndiscussions section here on GitHub to meet with other Flow users!\n",2,"2026-06-11 04:11:19","high_star"]