/rust_text_editor

Creation of a Rust-backed text editor that supports certain Vim like commands. Built as a part of a Hackathon.

Primary LanguageRustBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Rust Text Editor

License Contributors GitHub forks GitHub Repo stars Last Commit

Creation of a Rust-backed text editor that supports certain Vim like commands. Built in 6-ish as a part of a Hackathon.

Installation and Contribution

  1. Ensure you have Rust SDK installed.

  2. Clone this repository and CD into it.

  3. Please view the Contrbution Guidelines here to know how you can contribute to this.

Usage

  1. Clone the repository and CD into it.

  2. Execute cargo run.

  3. Follow the commands in the Help Section. To open files, copy their path into your clipboard and hit Ctrl + O.

Features

  • Basic TUI Setup
  • Proper Logs at all times
  • User Friendly Help Menu
  • Create Random Files
  • Edit Files, Save Files, Open Multiple Files from the file paths saved in your Clipboard
  • Word Wrap and Responsive UI
  • Scrollable UI

Inital Bugs and Open Issues (Feel Free to Contribute Fixes)

  • Unoptimized: The Editor has virtually no optimization
  • No Inuitive File Opener System: It can only open files when you copy the path to the files in your clipboard and hit the relevant shortcut
  • A Mess: Code works, but is not organised too well
  • Frontend: The UI could probably be improved

Acknowledgement

ilaborie/plop-tui

This project is built on top of plop-tui to implement generic features of a CLI based Code editor.

Dependencies

The project utilizes various open-source Cargo Crate dependencies to work. Big thanks to all the creators.

log = "0.4"

copypasta = "0.8.1"

names = { version = "0.14.0", default-features = false }

tui-logger = "0.8.0"
tui = "0.18.0"

crossterm = "0.24.0"

tokio = { version = "1", features = ["full"] }

eyre = "0.6"

Screenshots

Editor Initialized
Editor Initialized
Editor Write Mode
Editor Write Mode
Full Functionality With Multiple Files
Full Functionality With Multiple Files