iZiDo

StarShip it Today

To-do list manager with seamless integration into your terminal workflow.

Why This Tool?

I do forget a lot, so constant reminders are much needed. While exploring Starship Prompt I discovered that it can be customized to display text around the cursor. Hmm, I thought, 'What if I add reminders for the tasks I need to do above it?' IziDo was born out of this. For those who might find this feature annoying, don't worry—you can easily toggle it on and off. Check the code below...

Features

  • Add Tasks: Easily add new tasks with optional priority levels and due dates.
  • List Tasks: View all your pending and completed tasks with clear formatting.
  • Manage Tasks: Mark tasks as done, remove them, or clear all tasks effortlessly.
  • Prompt Integration: Display your to-do list directly in your terminal prompt using Starship.
  • Toggle View: Enable or disable the to-do view in your prompt to minimize distractions.
  • Color-Coded Output: Enhanced readability with color-coded statuses and priorities.
  • Accessible Everywhere: Use the izido command from any directory in your terminal.

Demo View

iZiDo in Action

Experience the sleek integration of iZiDo with your terminal prompt.

Installation

Prerequisites

  • Shell: Bash or Zsh.
  • Starship Prompt: Installed and configured.
  • Utilities: Awk and Sed.
  • Terminal Emulator: Supports Unicode and colors.

Steps

  1. Clone the Repository:
    git clone https://github.com/idmtr/izido.git
    cd izido
  2. Install the Script:
    sudo cp izido.sh /usr/local/bin/izido
    sudo chmod +x /usr/local/bin/izido
  3. Configure Starship Prompt:
    cat starship.toml >> ~/.config/starship.toml
  4. Reload Your Shell:
    source ~/.zshrc   # For Zsh
    source ~/.bashrc  # For Bash

Usage

Add a To-Do Item

izido add -p high -d 2024-11-01 "Go to dentist"

Priority Options: high, normal, low (default is normal).

Due Date Format: YYYY-MM-DD. If omitted, the due date is unspecified.

List To-Do Items

izido list
izido list pending    # List pending tasks
izido list high       # List high-priority tasks

Marking a Task as Done

izido done 1

Removing a To-Do Item

izido remove 2

Clearing All To-Do Items

izido clear

Toggling To-Do View in Prompt

izido view on
izido view off

Customization

Adjusting the Script

Modify the izido.sh script to better suit your workflow:

  • Change Data Storage Format: Switch to JSON or another format if preferred.
  • Add Features: Implement task editing, notifications, or integrations with other tools.

Modifying the Prompt Display

Customize how tasks are displayed in your prompt by editing the starship.toml configuration:

  • Change Icons: Replace Unicode icons with your preferred symbols.
  • Adjust Colors: Modify color codes to match your terminal theme.
  • Limit Task Display: Change the number of tasks shown in the prompt.

Contributing

Contributions are welcome! Follow these steps to contribute:

  1. Fork the Repository
  2. Create a New Branch
    git checkout -b feature/YourFeatureName
  3. Commit Your Changes
    git commit -m "Add feature: YourFeatureName"
  4. Push to Your Fork
    git push origin feature/YourFeatureName
  5. Open a Pull Request detailing your changes and their benefits.

Beyond Coding

My Dog

Yes, iZiDo even helps me take my dog for walks!

Origin of the Name

iZiDo is a playful twist on the phrase "Easy Do", reflecting the application's core mission to simplify task management directly from your terminal. The name embodies the ease and efficiency that iZiDo brings to your daily workflow, making task tracking an effortless part of your coding environment.

Dialect and Slang Origins

The term "iZi" is a colloquial contraction of "easy" commonly found in various English dialects and informal speech. By adopting this slang variation, iZiDo conveys a sense of casual simplicity and approachability, inviting users to integrate task management seamlessly without disrupting their coding flow.

  • "iZi": Represents the ease of managing tasks.
  • "Do": Emphasizes action and productivity.

Together, iZiDo suggests that handling to-dos can be both straightforward and effective, aligning with the application's goal to help you get stuff done.

License

This project is licensed under the MIT License.