プロジェクトアドレス: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 回 | 指定日までに完了。
最小化:
タスクウィンドウをシステムトレイに最小化できます。
また、現在の出力効果をさらに最適化すること、例えば完了したタスクや期限切れのタスクに取り消し線の効果を追加し、タスクを削除する際には直接削除するのではなく、隠されたタスクステータス「削除済み」を与え、タスクを表示する際にはこのタイプのタスクをフィルタリングします。