
A beautiful, cross-platform text editor written in Rust
Features • Building from Source • Usage • Development

- 🎨 Beautiful UI: Clean, minimal design with light and dark themes
- 💻 Cross-Platform: Runs on Windows, macOS, and Linux
- 📄 Core Functionality: Open, Save, and Print text files
- 🔌 Extensible: Designed with future extensions in mind
- Rust (latest stable version) and Cargo
- A C/C++ compiler (for some dependencies)
Windows
# Clone the repository
git clone https://github.com/sukeesh/zing.git
cd zing
# Build in release mode
cargo build --release
# Run the application
cargo run --release
macOS
# Clone the repository
git clone https://github.com/sukeesh/zing.git
cd zing
# Build in release mode
cargo build --release
# Run the application
cargo run --release
Linux
# Install required dependencies (Ubuntu/Debian example)
sudo apt-get update
sudo apt-get install -y libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev
# Clone the repository
git clone https://github.com/sukeesh/zing.git
cd zing
# Build in release mode
cargo build --release
# Run the application
cargo run --release
Contributions to Zing are warmly welcomed! Whether you're fixing bugs, adding features, improving documentation, or suggesting ideas, your help is appreciated.
- Fork the repository and create your branch from
main
- Make your changes and ensure they follow the project's coding style
- Test your changes thoroughly
- Submit a pull request with a clear description of your improvements
- Bug fixes and performance improvements
- New features and enhancements
- Documentation and examples
- UI/UX improvements
- Cross-platform compatibility
No contribution is too small! Feel free to open issues for discussions or suggestions before implementing changes.
Click on the "Open" button in the toolbar or use the keyboard shortcut Ctrl+O
(Windows/Linux) or Cmd+O
(macOS).
- Save: Click the "Save" button or use
Ctrl+S
/Cmd+S
to save changes to the current file. - Save As: Use
Ctrl+Shift+S
/Cmd+Shift+S
to save the current file with a new name or location.
Click on the "Print" button or use Ctrl+P
/Cmd+P
to print the current document.
Zing is organized into several modules:
buffer
: Text buffer implementation using the Ropey crateui
: User interface components built with eguifile_io
: File input/output operationsconfig
: Configuration and theming
Zing is developed by Sukeesh. Connect with me:
- GitHub: @sukeesh
- LinkedIn: Sukeesh
- Repository: github.com/sukeesh/zing
- Website: sukeesh.in/zing
This project is licensed under the MIT License - see the LICENSE file for details.