A simple, terminal-based todo list application written in C. This application supports both interactive and command-line modes, allowing users to manage their tasks efficiently with persistent storage.
- Interactive menu-driven interface
- Command-line interface for quick actions
- Colored task display (green for completed, yellow for pending)
- Persistent storage using CSV file format
- Basic task management operations:
- List all tasks
- Add new tasks
- Mark tasks as completed
- Delete tasks
- C compiler (GCC recommended)
- CMake (version 3.10 or higher)
- Make
git clone [https://github.com/yourusername/c_todo_list.git]cd c_todo_list
mkdir build && cd build
cmake ..
make
Run the program without arguments to enter interactive mode:
bash ./todo
This will display a menu with the following options:
- List tasks
- Add task
- Mark task as done
- Delete task
- Save and exit
The program supports the following command-line arguments:
bash ./todo [command] [argument]
Available commands:
list- Show all tasksadd "task text"- Add a new taskdone task_id- Mark a task as completeddelete task_id- Delete a task
Examples:
./todo add "Buy groceries"./todo list./todo done 1./todo delete 2
- Fork the repository
- Create a new branch for your feature
- Commit your changes
- Push to the branch
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Matthew Johnson