Skip to content

sukeesh/zing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zing Logo

Zing Text Editor

A beautiful, cross-platform text editor written in Rust

Open Source Made with Rust Website

FeaturesBuilding from SourceUsageDevelopment

Zing Editor Screenshot

✨ Features

  • 🎨 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

🚀 Building from Source

Prerequisites

  • Rust (latest stable version) and Cargo
  • A C/C++ compiler (for some dependencies)

Build Instructions

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

🤝 Contributing

Contributions to Zing are warmly welcomed! Whether you're fixing bugs, adding features, improving documentation, or suggesting ideas, your help is appreciated.

How to Contribute

  1. Fork the repository and create your branch from main
  2. Make your changes and ensure they follow the project's coding style
  3. Test your changes thoroughly
  4. Submit a pull request with a clear description of your improvements

Areas for Contribution

  • 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.

📝 Usage

Opening a File

Click on the "Open" button in the toolbar or use the keyboard shortcut Ctrl+O (Windows/Linux) or Cmd+O (macOS).

Saving a File

  • 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.

Printing

Click on the "Print" button or use Ctrl+P/Cmd+P to print the current document.

🛠️ Development

Zing is organized into several modules:

  • buffer: Text buffer implementation using the Ropey crate
  • ui: User interface components built with egui
  • file_io: File input/output operations
  • config: Configuration and theming

👨‍💻 About the Developer

Zing is developed by Sukeesh. Connect with me:

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.