4 releases

0.1.3 Nov 20, 2023
0.1.2 Nov 20, 2023
0.1.1 Nov 20, 2023
0.1.0 Nov 20, 2023

#2349 in Command line utilities

MIT license

22KB
442 lines

EDD

A Rust CLI Tool for Managing TODO.md Tasks

Description

EDD is a command-line tool designed for managing tasks in a TODO.md file. It allows users to navigate tasks using keyboard controls, mark tasks as complete/incomplete, and insert new tasks easily.

Features

  • Task Navigation: Easily navigate through tasks.
  • Complete/Uncomplete Tasks: Mark tasks as complete or incomplete.
  • Edit Tasks: Edit the description of a task.
  • Insert Tasks: Insert a new task after the selected task.
  • Level Tasks: Make a task a subtask of the previous task.
  • Move Tasks: Move a task up or down.
  • User-Friendly Interface: Clear and intuitive CLI interface.

Getting Started

Prerequisites

  • Rust and Cargo (latest stable version)
  • Git (for cloning the repository)

Installation

Option 1: Install using cargo install:

cargo install edd

Option 2: Build from source

  1. Clone the repository:
    git clone https://github.com/flipflopsnrice/edd.git
    
  2. Navigate to the cloned directory:
    cd edd
    
  3. Build the project:
    cargo build --release
    
  4. Installation:
  • Option 1: Add the binary to your PATH. Copy the built binary to the chosen location. Assuming ~/bin/ is in your PATH, use the following command:

    # Copy the binary to the ~/bin/ directory:
    cp target/release/edd ~/bin/
    
    # Ensure that the binary is executable:
    chmod +x ~/bin/edd
    
  • Option 2: Run the binary directly.

    # Use cargo to run the binary:
    cargo run
    
    # or run the binary directly:
    ./target/release/edd
    

Usage

Run the tool from the command line:

cargo run <optional path to TODO.md file>

Keyboard Controls

  • i: Insert a new task.
  • d: Delete the selected task.
  • e: Edit the description of the selected task, hit Enter to save or Esc to cancel.
  • s: Quit & save changes to the TODO.md file.
  • q: Quit the program, without saving.
  • Space: Complete/Uncomplete selected task.
  • Arrow Up/Down or j/k: Navigate through tasks.
  • <ctrl> + Arrow Up/Down or j/k: Move the selected task up/down.
  • TAB: Make the task a subtask of the previous task.
  • <shift> + TAB: Make the task a main task.

Contributing

Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.

License

This project is licensed under the MIT License.

Dependencies

~14–22MB
~365K SLoC