flow-website/content/index.smd

62 lines
2 KiB
Text

---
.title = "Flow Control",
.date = @date("2020-07-06T00:00:00"),
.author = "CJ van den Berg",
.layout = "index.shtml",
.draft = false,
---
## a programmer's text editor
Flow Control is under active development, but very stable.
[]($video.siteAsset('video/flow-control.mp4').controls(true))
## 🚀 Features
- **Lightning Fast** TUI with ≤6ms frame times, **low latency** input handling
and smooth **animated scrolling**
- Intuitive UI with **tabs**, **scrollbars** and **palettes** with full
**mouse** support for all UI elements
- Support for more than **70 programming languages**, **zero
configuration** needed, via **tree-sitter** powered syntax highlighting
- **Language Server Protocol** pre configured support for most language servers
- Powerful **multi-cursor** editing and integrated **clipboard history**
- Powerful configurable keybinding system that supports **modal** and
**non-modal** editing styles
- Multiple pre-configured **keybinding modes**
- Flow Control - GUI IDE style bindings (similar to vscode)
- Emacs
- Vim
- Helix
- User created
- Hybrid rope/piece-table buffer system, edit **very large files** with
**thousands of cursors**
- Full **unicode** support, including support for the kitty text sizing protocol
- Runs on **Linux, FreeBSD, MacOS, Windows and Android** (under termux) with
easy **cross-compilation** to all supported targets
## Requirements
- A modern terminal with **24bit color** and, ideally, **kitty keyboard
protocol** support. **Kitty**, **Foot** and **Ghostty** are the recommended
terminals at this time. **Zellij** also works well. Most other terminals will
work, but likely with reduced functionality.
- **NerdFont** support. Either via terminal font fallback or a patched font.
- A **UTF-8** locale
## 🛣️ Roadmap
See our [devlog](/devlog/2025) for on-going updates from the development team.
**In Development**:
- LSP completion support
- Persistent undo/redo
- File watcher integration
**Future**:
- Collaborative editing
- Plugin system
- Multi-terminal sessions