Rusk
Rusk is a modern, terminal-based text editor written in Rust. It is designed to be extensible and configurable, with a focus on performance and a minimal footprint.
Technologies:
rust ratatui crossterm tree-sitter
Tags:
text-editor terminal rust syntax-highlighting plugin-system vim cli performance theming developer-tools
Rusk
Rusk is a modern, terminal-based text editor written in Rust. It is designed to be extensible and configurable, with a focus on performance and a minimal footprint.
Features
- Terminal-based UI: Rusk uses
ratatuiandcrosstermto provide a rich user interface in the terminal. - Syntax Highlighting: Highlighting is provided by
tree-sitter, supporting a wide variety of languages. - Plugin System: Rusk has a plugin system that uses
wasmtimeto run plugins in a sandboxed environment. - Theming: The editor’s appearance can be customized through themes.
- Vim-like Keybindings: For those familiar with Vim, Rusk provides a similar modal editing experience.
- Command-line Interface: Rusk uses
clapto provide a powerful and easy-to-use command-line interface.
Getting Started
To get started with Rusk, you’ll need to have Rust and Cargo installed.
- Clone the repository:
git clone https://github.com/vedant-asati03/rusk.git cd rusk - Build the project:
cargo build --release - Run the editor:
./target/release/rusk
Dependencies
Rusk is built with the following main dependencies:
ratatuiandcrosstermfor the terminal UItree-sitterfor syntax highlightingwasmtimefor the plugin systemclapfor command-line argument parsingserdefor serialization and deserializationtokiofor asynchronous operations
Contributing
Contributions are welcome! If you’d like to contribute to Rusk, please feel free to fork the repository and submit a pull request.
License
This project is licensed under the terms of the MIT license.