Skip to content

High-performance terminal editor with autosuggestions, undo/redo, and customizable shortcuts. :p3:s2:m

License

Notifications You must be signed in to change notification settings

abdxdev/Terminal-Based-Rich-Text-Editor

Repository files navigation

Terminal-Based Text Editor

alt text alt text

A high-performance terminal-based rich text editor designed for speed and functionality. It supports autosuggestions, undo/redo, and customizable shortcuts. The editor leverages advanced data structures to ensure smooth and efficient text editing.

Features

  1. Autosuggestions: Real-time autocomplete powered by Trie.
  2. Undo/Redo: Stack-based undo/redo operation.
  3. GapBuffer Efficiency: Smooth editing and fast cursor movement.
  4. Custom Shortcuts: Bind frequently used actions for faster workflow.

Data Structures Used

  1. GapBuffer: For efficient text editing and cursor movement within a line.
  2. GapBufferLinkedList: Extends GapBuffer to support multi-line text editing.
  3. Trie: Powers the autosuggestion system for real-time word predictions.
  4. Stack: Implements undo/redo functionality.

Getting Started

  1. Install a Nerd Font for enhanced terminal visuals from nerdfonts.com.
  2. Clone the repository and build the project with C++14 support:
    git clone https://github.com/abdxdev/TerminalBasedRichTextEditor.git
    cd TerminalBasedRichTextEditor
    start TerminalBasedRichTextEditor.sln
    Ensure your compiler supports C++14.
  3. Launch the editor in a terminal supporting Nerd Fonts.

Note: You need to set the font in your terminal settings.

Keyboard Shortcuts

File Operations:

  • Ctrl+S: Save file
  • ESC: Quit editor

Editing:

  • Ctrl+Z: Undo
  • Ctrl+Y: Redo
  • Arrow Keys: Move cursor

Suggestions:

  • Tab or Enter: Apply suggestion
  • Esc: Dismiss suggestion

Formatting:

  • F1: Change foreground color
  • F2: Change background color
  • F3: Toggle autosuggestions
  • F4: Refresh screen
  • F5: Change cursor style
  • Ctrl+B: Toggle bold
  • Ctrl+I: Toggle italics
  • Ctrl+U: Toggle underline
  • Ctrl+T: Toggle strikethrough

License

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

About

High-performance terminal editor with autosuggestions, undo/redo, and customizable shortcuts. :p3:s2:m

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published