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
第 2 篇では、テーブルライブラリを試してみましたが、owo_color ライブラリと互換性がないことがわかったので、テーブルライブラリをスキップし、owo_color を使用してコンソールで println! メソッドを直接実行しました。

同時に tracing ライブラリとその依存ライブラリを利用してログ記録機能を実装し、ユーザーがどのコマンドを出力したかを記録できるようにしました。現在は初歩的な実装に過ぎません。

unicode-width と textwrap ライブラリは、端末で内容を整列させるのに役立ちました。

現在実装されている機能#

タスクデータの基本操作 [追加・削除・更新・検索]。タスクに現在含まれているフィールド:

ID、タスク名、タスクの説明、締切日、タスクの状態、タスクのグループ、タスクの価値。

ログ機能:tracing ライブラリに依存して、成功したコマンドの記録を実現しています。どの時間にどのコマンドが実行されたかを指定できます。

拡張操作:バッチの状態更新と削除、例えばバッチ完了、タスク削除、タスクの状態を一度のコマンドで複数のタスクに対して操作できます。

出力の美化:owo_colors ライブラリと絵文字を利用して現在の表示効果を基本的に実現できますが、中国語の文字のために不揃いになる現象があります。unicode-width ライブラリを利用することで解決できます。

計画している機能#

フィールドのソート:

例えば「タスクの価値」を高い順にソートしたり、「締切日」を近い順にソートしたりすることができます。この機能を通じてソートアルゴリズムや探索アルゴリズム(timsort、driftsort)(ブルームフィルター)を学ぶことができます。

完了タイプ:

タスクを分類します:毎日 | 毎週 | 毎月 | 毎年 | X 回 | 指定日までに完了。

最小化:

タスクウィンドウをシステムトレイに最小化できます。

また、現在の出力効果をさらに最適化し、完了したタスクや期限切れのタスクに取り消し線の効果を追加し、タスクを削除する際には直接削除するのではなく、隠されたタスク状態「削除済み」を与え、タスクを表示する際にはこのタイプのタスクをフィルタリングします。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。