command-line todo application written in Scala
- Java 8 or higher
- sbt (Scala Build Tool)
git clone <repository-url>
cd CLI-toDo
sbt assembly-
Build the executable JAR:
sbt assembly
-
Create a shell script wrapper:
echo '#!/bin/bash java -jar "$(dirname "$0")/cli-todo-assembly-0.1.0.jar" "$@"' > target/scala-2.13/todo chmod +x target/scala-2.13/todo
-
Add to your PATH (add to
~/.zshrcor~/.bashrc):export PATH="$PATH:/path/to/CLI-toDo/target/scala-2.13"
-
Reload your shell:
source ~/.zshrc
Run the application:
todo| Command | Description | Example |
|---|---|---|
add <title> [: description] |
Add a new task (use : to add description) |
add Buy groceries: Milk, bread, eggs |
list |
Show all tasks | list |
done <id1> [id2] [id3]... |
Mark one or more tasks as complete | done 1 3 5 |
del <id1> [id2] [id3]... |
Delete one or more tasks | del 2 4 |
clear |
Remove all completed tasks | clear |
help |
Show help | help |
quit |
Exit program | quit |
CLI-toDo/
├── src/
│ └── main/
│ └── scala/
│ ├── Main.scala # Main application entry point
│ ├── Task.scala # Task data model
│ └── TaskService.scala # Business logic and UI
├── build.sbt # Build configuration
└── README.md # This file
The ASCII art banner was generated using the ASCII Text Generator.