A lighter, faster, more comfortable desktop editor.
English | 简体中文
winc is built with Rust and its own rendering engine: it starts in 0.1 seconds and uses just 52 MB of memory with 100,000 lines open. Multiple cursors, find and replace, and side-by-side diffs are all there, and every keystroke and scroll responds instantly.
| Measure | Result |
|---|---|
| Cold start to first frame | 119 ms (median of 20 runs) |
| Resident memory with 100,000 lines open | 52 MB |
| A 1 GB file, editable and highlighted | 220 ms |
Measured on macOS; results vary with hardware and system load.
| Area | Capabilities |
|---|---|
| Editing | Multiple cursors, find and replace, native input methods, and smooth scrolling in gigabyte-sized files |
| Syntax | Highlighting for common programming, markup, data, and configuration languages, plus lightweight go-to-definition and usages without a language server |
| Formatting | Whole-file formatting with external tools such as rustfmt, Prettier, Black, Ruff, and gofmt |
| Preview | Markdown, images, SVG, and spreadsheets (xlsx, csv), with the source one click away |
| Git | Side-by-side diffs with word-level highlights, staging by hunk, commit and push, a commit graph, and blame |
| Project | A file tree, quick open, and project search that follows .gitignore |
| Terminal | An integrated terminal at the bottom of the window |
| Interface | Light and dark themes, and a complete interface in English and Simplified Chinese |
| Updates | Signed in-app updates on all three platforms |
| Platform | Requirements | Package |
|---|---|---|
| macOS | macOS 11 or later, Apple silicon or Intel | Disk image |
| Linux | x86_64, X11 or Wayland | AppImage, deb |
| Windows | Windows 10 1809 or later, x86_64 | NSIS, MSI, portable ZIP |
winc is developed and tested mainly on macOS. Download it from winc.si; all versions are on GitHub Releases.
winc builds with Rust 1.99.1; rust-toolchain.toml selects the toolchain automatically.
cargo run --release # build and run
cargo run --release -- <path> # open a file or folderFor versioning, signing configuration and release workflows, see Releasing winc.
cargo xtask test # test the crates changed since HEAD
cargo xtask test --all # test the whole workspace
cargo clippy --workspace --all-targets -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps
cargo xtask bench # measure startup, memory, and scrolling against budgetsThe interface is written in Rust. Windows come from winit, and rendering is done by winc's own CPU rasterizer. On macOS, frames are written directly to an IOSurface.
The workspace is split into crates by responsibility:
| Crate | Responsibility |
|---|---|
winc-core |
Text, editing, undo, and diffing, independent of the interface |
winc-syntax |
Lexers for syntax highlighting |
winc-editor |
Editor logic: documents, file tree, search, Git, and formatting |
winc-render |
Rendering: glyphs, rasterization, and presentation |
winc-preview |
Previews for images, SVG, Markdown, and spreadsheets |
winc-pty |
Terminal emulation and the pseudo-terminal helper process |
winc-config |
Configuration and state files |
winc-i18n |
Interface strings (Fluent bundles) |
winc-app |
The application: windows, events, and views |
xtask |
Development automation: tests, benchmarks, and packaging |
Contributions are welcome. Please read CONTRIBUTING.md before you open a
pull request, and open it against the dev branch. All contributors sign the Contributor License
Agreement and follow the Code of Conduct. To report a
vulnerability, see SECURITY.md.
- Website: winc.si
- Email: support@deeix.com
- Telegram: t.me/deeix_chat
- X: @DEEIX_AI
winc is licensed under the Apache License, Version 2.0. See NOTICE.