xChar
·2 months ago

image

项目地址: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次|指定日期前完成。

最小化:

可以将任务窗口最小化到系统托盘中。

以及继续优化当前的输出效果,例如把已完成和已过期的任务添加删除线的效果,删除任务不再直接删除,而是给与一个隐藏的任务状态为:已删除,展示任务时,将此类型任务过滤。

Loading comments...