Undergraduate student driven by curiosity, experimenting with ideas and building practical solutions that work.

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 ratatui and crossterm to 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 wasmtime to 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 clap to 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.

  1. Clone the repository:
    git clone https://github.com/vedant-asati03/rusk.git
    cd rusk
  2. Build the project:
    cargo build --release
  3. Run the editor:
    ./target/release/rusk

Dependencies

Rusk is built with the following main dependencies:

  • ratatui and crossterm for the terminal UI
  • tree-sitter for syntax highlighting
  • wasmtime for the plugin system
  • clap for command-line argument parsing
  • serde for serialization and deserialization
  • tokio for 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.