Skip to content
DEEIX-AIPublic

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

187 stars

Watchers

0 watching

Forks

winc

Winc

A lighter, faster, more comfortable desktop editor.

English | 简体中文

Website License Rust Platforms

Download Winc

Overview

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.

Features

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

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.

Building from Source

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 folder

For versioning, signing configuration and release workflows, see Releasing winc.

Development

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 budgets

The 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

Contributing

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.

Contact

Links

License

winc is licensed under the Apache License, Version 2.0. See NOTICE.

About

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.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

187 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages