5 releases
0.1.5 | Nov 17, 2023 |
---|---|
0.1.4 | Nov 17, 2023 |
0.1.3 | Nov 17, 2023 |
0.1.1 | Nov 17, 2023 |
0.1.0 | Nov 17, 2023 |
#1068 in Filesystem
18KB
426 lines
htodo
Introduction
A simple To-do app that I use to get started with rust lang.
To-dos will be stored in a json file under ProjectDir by default.
macos: /Users/<user_name>/Library/Application Support/htodo/todo.json
Installation
cargo install htodo
Usage
- Initialize
htodo init
- basic
htodo add "This is a todo"
htodo add "This is a todo" --complete
htodo complete [id]
htodo uncomplete [id]
htodo list
htodo clean
Dependencies
[dependencies]
serde = { version = "1.0", features = ["derive"] } # data (de)serialize
serde_json = "1.0.108" # json (de)serialize
clap = { version = "4.4.7", features = ["derive", "cargo"] } # Cli argument parser
notify-rust = "4" # XDG notification
prettytable-rs = "^0.10" # print data in table format
directories = "5.0" # get path of sys dir
Knowledege
- Pattern matching and related error handling.
- File processing.
- Path processing.
- CLI arguments parsing.
- XDG related notification with extern "C".
- Crate publish
- Unit testing
- System directories
- Macros
Development
For testing:
cargo test -- --test-threads 1
What's left
- Search and sorting feature
- Colored output
- Add due date to To-Do
- Notification Icons
Contribution
This is still a very basic todo app. Pr is very much welcomed.
Dependencies
~4–31MB
~446K SLoC