2个版本
0.1.1 | 2023年8月3日 |
---|---|
0.1.0 | 2023年8月3日 |
#12 在 #task-list
36KB
858 行
list-rs
使用Rust编写的简单clli待办事项应用。
$ list-rs
Welcome to list-rs, a cli todo app written in Rust 🦀!
Task list is empty.
Run list-rs add to add a new task.
Run list-rs --help to get all commands
示例用法
添加任务
$ list-rs add "Watch Oppenheimer"
Task Added
按ID删除任务
$ list-rs remove 3
Task 3 removed
按ID更新任务
$ list-rs update 3 "A new title"
Task 3 updated
将任务设置为已完成
$ list-rs done 4
Task 4 set to Done
将任务设置为未完成
$ list-rs undone 4
Task 4 set to Undone
将任务设置为存档
$ list-rs archive 4
Task 4 set to Archived
列出所有待办(未完成)任务
$ list-rs
4) ⌛ Take vitamins
3) ⌛ Meditate
2) ⌛ Go to the gym
1) ⌛ Watch Oppenheimer
列出所有任务
$ list-rs all
4) 📦 Take vitamins
3) ⌛ Meditate
2) ✅ Go to the gym
1) ⌛ Watch Oppenheimer
显示存档任务
$ list-rs archived
4) 📦 Take vitamins
通过内容搜索任务
$ list-rs search "Hello"
6) ⌛ Hello World
5) ⌛ Hello
功能需求
- CRUD操作:添加、删除、更新和列出所有任务。
- 自动按创建日期排序
- 可以选择将任务标记为“已完成”、“未完成”和“存档”。
- 使用数据库在磁盘上持久化任务列表
- 无限历史记录的撤销/重做操作
- 根据内容搜索任务
- 可配置数据库路径
未来工作
- 实现任务到期日期
- 实现任务标签
- 交互式模式
构建
cargo b --release
运行测试
cargo t --release
命令行参数
$ list-rs --help
Usage: list-rs [COMMAND]
Commands:
add Adds a task
remove Removes a task with a given id
update Updates a task with a given id
list Lists all pending tasks
all List all tasks
archived List archived tasks
archive Sets a task with a given id to Archived
done Sets a task with a given id to Done
undone Sets a task with a given id to Undone
search Search for a task by its contents
undo Revert last change
redo Redo last change
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
设置自定义数据库路径
创建一个.env
文件并添加以下行
DB_PATH=/your/custom/path/tasks.db
使用的包
- rusqlite(数据库)
- clap(参数解析)
- colored(终端美化打印)
- chrono(日期时间相关)
- dotenv(用于配置)
依赖项
~24–33MB
~536K SLoC