A Rust CLI Tool for Managing TODO.md Tasks
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.
- 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.
- Rust and Cargo (latest stable version)
- Git (for cloning the repository)
Option 1: Install using cargo install
:
cargo install edd
Option 2: Build from source
- Clone the repository:
git clone https://github.com/flipflopsnrice/edd.git
- Navigate to the cloned directory:
cd edd
- Build the project:
cargo build --release
- 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
Run the tool from the command line:
cargo run <optional path to TODO.md file>
i
: Insert a new task.d
: Delete the selected task.e
: Edit the description of the selected task, hitEnter
to save orEsc
to cancel.s
: Quit & save changes to theTODO.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.
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License.