项目地址:https://github.com/MrTwoc/todo-rs
在第二篇中我试了一下表格库,然后发现与 owo_color 库不兼容,所以直接跳过了表格库,用 owo_color 直接在控制台进行了 println! 方法。。
同时利用 tracing 库和其依赖的库实现了日志记录功能,能记录用户输出了哪些指令,目前只是初步实现。
unicode-width 和 textwrap 库帮我在终端把内容进行对齐。
目前已经实现的功能#
对任务数据的基础操作 [增删改查]。任务目前包含的字段:ID、任务名称、任务描述、截止日期、任务状态、任务分组、任务价值。
日志功能:依赖 tracing 库实现对成功执行的指令的记录。可以指定什么时间执行了什么指令。
扩展操作:批量的状态更新与删除,例如批量完成、删除任务,批量改变任务的状态,一条指令即可操作多个任务
输出美化:利用的 owo_colors 库与 emoji 符号就能基础实现当前展示效果,但是因为中文字符的原因会有对不齐的现象。借助 unicode-width 库可以解决。
计划实现的功能#
字段排序:例如按 ' 任务价值 ' 从高到低排序,或者按 ' 截止日期 ' 从近到远排序,可以借此功能学习一下排序算法与查找算法 (timsort、driftsort)(布隆过滤器)
完成类型:
将任务分类为:每天 | 每周 | 每月 | 每年 | X 次 | 指定日期前完成。
最小化:
可以将任务窗口最小化到系统托盘中。
以及继续优化当前的输出效果,例如把已完成和已过期的任务添加删除线的效果,删除任务不再直接删除,而是给与一个隐藏的任务状态为:已删除,展示任务时,将此类型任务过滤。