## 要件
1日の最後に軽く振り返りができるレベルの記録がつけられること。
### やらないこと
時間記録を細かく計測したり、蓄積して分析したりすること。
## 基本仕様
- タスク1行に対して時間を記録するテキストベース方式を採用
- ==時刻は記載しない== => 時間を記載する
### フォーマット
- [ ] 計測を何もしていない状態
- [ ] 計測中のタスク (⏳)
- 条件: タスクが `(⏳)` で終わっていること
- [ ] 計測停止したタスク (⏲️00:01:23)
- 条件: タスクが `(⏲️\d\d:\d\d:\d\d)` で終わっていること
- `\d\d:\d\d:\d\d`部分を時間として取得
## 設計
- コマンドを作成する (Click Timer)
- カレントラインがタスクでなければ中断
- カレントラインが`(⏳)`で終わっていたら STOP処理
- `測定中タスクの時間` + `測定時間` で `(⏳)` を `(⏲️\d\d:\d\d:\d\d)` 形式に置換
- `測定時間` の測定終了
- カレントラインが`(⏲️\d\d:\d\d:\d\d)`で終わっていたら START処理
- `\d\d:\d\d:\d\d`部分を`測定中タスクの時間`として保持
- `(⏲️\d\d:\d\d:\d\d)` を `(⏳)` で置換
- `測定時間` の測定開始
- モデル
- 測定タスク
- プロパティ
- name: string
- accumulatedSeconds: number
- startTime: DateTime
- get displayTime(): number
- 秒を`HH:mm:dd`形式の文字列で出力
- メソッド
- static of(name: string, startTime: DateTime, accumulatedSeconds: number): this
- `HH:mm:dd`形式からsecondsへの変換
- calcAccumulatedSeconds(): void
- `seconds = (現在日時 - startTime) + seconds`