banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、拿铁咖啡、游戏(Minecraft、Warframe、CS) 兴趣方向:Rust、区块链、图形学、游戏设计与开发
bilibili
steam
email
github

[3].Todo-rs美化輸出

image

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 次 | 指定日期前完成。

最小化:

可以將任務窗口最小化到系統托盤中。

以及繼續優化當前的輸出效果,例如把已完成和已過期的任務添加刪除線的效果,刪除任務不再直接刪除,而是給予一個隱藏的任務狀態為:已刪除,展示任務時,將此類型任務過濾。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。