tritask-sta specification

Tritask-sta の概要や仕様をまとめる。

タスクの種類

有効なタスク

                             INBOX
4 2017/07/11 Thu  9:52 10:33 YESTERDAY DONE
2 2017/07/12 Wed             TODAY TODO
2 2017/07/12 Wed  9:52       TODAY START
1 2017/07/12 Wed  9:52 10:33 TODAY DONE
3 2017/07/13 Thu             TOMORROW TODO
種類名 略称 説明
INBOX inbo 実行日の決まっていないタスク(メモとしても使用可)
YESTERDAY DONE ye 昨日以前に終了したタスク
TODAY TODO tt 今日行うタスク
TODAY START ts 現在実行中のタスク
TODAY DONE td 今日終了したタスク
TOMORROW TODO tom 明日以降のタスク

無効なタスク

YESTERDAY TODO, YESTERDAY START, TOMORROW DONE, TOMORROW START は存在しない。

4 2017/07/11 Thu             YESTERDAY TODO      <=== INVALID
4 2017/07/11 Thu  9:52       YESTERDAY START     <=== INVALID
2 2017/07/12 Wed             TODAY TODO
2 2017/07/12 Wed  9:52       TODAY START
1 2017/07/12 Wed  9:52 10:33 TODAY DONE
3 2017/07/13 Thu 10:00       TOMORROW START      <=== INVALID
3 2017/07/13 Thu 10:00 10:22 TOMORROW DONE       <=== INVALID

ただしツール側でバリデーションや修正処理を行う義務は無い。

各フィールドの実装

マーク

タスク種別に対するマークは以下のとおりに定める。

| マーク値 | タスク種別 | | ——– | —- | | ` (スペース) | inbo(Inbox) | | 1 | td(Today Done) | | 2 | tt(Today Todo), ts(Today Start) | | 3 | tom(Tomorrow Todo) | | 4` | ye(Yesterday Done) |

意図としては、まずインボックスやメモなど汎用的な inbo は最上位に表示させる。また today, tom, ye については、today が一番使うはずなので一番上、次いで明日以降の予定である tom、最後に過去である ye の順にしてある。

日付と曜日

以下のパターンのみ有効とする。

有効でないパターンが入力された時、ツールの挙動は Undefined である。

以下に実際のフォーマット例を挙げる。

                             inbo
2 2017/07/12 Wed             tt
2 2017/07/12                 tt(曜日部分はソート時に補完される)
2 2017/07/12 WED             tt(曜日部分はソート時に補完される)
2 2017/07/12 abc             tt(曜日部分はソート時に補完される)
2            Wed             不正なフォーマット(日付がない)
2 2017/07/32 WED             不正なフォーマット(日付が有効でない)

属性

TEMPLATE

(属性に関する概要や詳細説明)

繰り返し(Repeat)

このタスクを終了すると、N日後の tom が複製される。

スキップ(Skip)

このタスクは、ソートされた時、日付が「指定された曜日」だった場合に、日付が +1 される。

指定は曜日個別、平日、休日(土曜日と日曜日)の三パターンを指定可能。

全ての曜日が指定された場合、永遠にインクリメントされ続けるため、 ツール側で停止しなければならない

ホールド(Hold)

このタスクは、ソートされた時に、今日を 0 として、その差分の日付が常に設定される。

リファレンス(Reference)

このタスクが持つリファレンス KEY を開く。

リファレンスとはキーとファイルからなるメモ領域であり、実体は (tritaファイルのあるディレクトリ)/ref 配下に (キー名).md という形で保存される。

リファレンスはタスクに関する補足情報を記述するのに便利である。

キーは何でも良いが、tritask-sta では現在日時の YYMMDD_HHMMSS で固定する。

見積もり(Estimate)

このタスクは N 分で終了予定であることを示す。

この属性を付与しておくと、Report Today 機能で「今日の総見積時間」や「今日すべてのタスクを終えるのにあと何分かかる見込みか」といった情報を算出できるようになる。

操作一覧

menu

注釈

TEMPLATE

(一言説明)

Before

適用前の内容

After

適用前の内容

(詳細説明)

================

Add Task

現在行に tt を追加する。

Before

  2017/08/04 Fri             タスク1
  2017/08/04 Fri             Iタスク2
  2017/08/04 Fri             タスク3

After

  2017/08/04 Fri             タスク1
  2017/08/04 Fri             I
  2017/08/04 Fri             タスク2
  2017/08/04 Fri             タスク3

Add Inbox

現在行に inbo を追加する。

Before

  2017/08/04 Fri             タスク1
  2017/08/04 Fri             Iタスク2
  2017/08/04 Fri             タスク3

After

  2017/08/04 Fri             タスク1
                             I
  2017/08/04 Fri             タスク2
  2017/08/04 Fri             タスク3

Copy Task

指定タスクを次行に複製する。その際、開始時刻と終了時刻はクリアする。

Before

  2017/08/04 Fri 09:30 09:54 Iタスク2
  2017/08/04 Fri             タスク3

After

  2017/08/04 Fri 09:30 09:54 タスク2
  2017/08/04 Fri             タスク2I
  2017/08/04 Fri             タスク3

Start Task

指定タスクに開始時刻を書き込む。

Before

  2017/08/04 Fri             Iタスク1

After(14:30に開始した場合)

  2017/08/04 Fri 14:30I      タスク1

既に開始されている場合は開始時刻をクリアする(開始時刻記入のトグル)。

End Task

指定タスクに終了時刻を書き込む。

Before

  2017/08/04 Fri 13:31       Iタスク rep:3

After(14:30に終了した場合)

  2017/08/04 Fri 13:31 14:30 タスク rep:3
4 2017/08/07 Mon             タスク rep:3I

もし repeat 属性がある場合、当該タスクを(日付を指定日後に変更してから)複製する。

開始時刻が書き込まれてない場合は無効タスク(開始してないのに終了している)となってしまうが、処理の中断や警告は行わない。

Close Task

Start と End を同時に行う。

Before

  2017/08/04 Fri             Iタスク1

After(14:30に開始した場合)

  2017/08/04 Fri 14:30 14:30Iタスク1

================

Walk day

指定タスクの日付を指定日だけ増減させる。複数選択対応。

指定可能な増減値は整数値。

Walk +1 day(Smart-walk)

rep:N があれば N 日後を、無ければ 1 日後(+1)を設定する Walk day。複数選択対応。

Change to Today

指定タスクの日付を今日にする。複数選択可能。

Before(二つとも選択しているとする)

4 2017/08/02 Wed             タスク
4                            タスク

After(今日が 17/08/05 とする)

2 2017/08/05 Sat             タスク
2 2017/08/05 Sat             タスク

Clear Date

指定タスクの日付を空文字列にする(inboにする)。

Before

  2017/08/04 Fri             タスクI

After

                             Iタスク

================

Sort

現在開いている trita ファイルに対してソートを実行する。

ただしソートを実行する前に全行を走査し、以下の前処理を行う。

Jump to Starting-Task

ts のある行にジャンプする。

Before

  2017/08/04 Fri             タスクI
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri 14:34       タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク

After

  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク
  2017/08/04 FriI14:34       タスク
  2017/08/04 Fri             タスク
  2017/08/04 Fri             タスク

ts が複数存在する場合、最初に登場する ts にジャンプする。

Open Reference

指定タスクにリファレンスを付与する。

Before

  2018/04/26 Thu             テストI

After

  2018/04/26 Thu             テスト ref:180426_131649I

リファレンスキー名は現在日時の YYMMDD_HHSSMM を自動的に用いる。また、付与後は当該リファレンスファイル( YYMMDD_HHSSMM.md )を「関連付けられたエディタ」で開く。

Simple Completion

指定タスクに対して補正(日付情報から正しい曜日文字列を算出する、ソートマークを正しく反映する等)をかける。

Before

  2018/11/10IThu             テストI

After

3 2018/11/10ISat             テスト

ソートを行わずに、タスク一つのみに対して補正を行いたい場合に用いる。特に日付を手動で更新した際に、その日付が何曜日なのかを知りたい場合などに用いる。

================

Report Today

今日のタスク情報からレポートを作成し、ダイアログにて表示する。

today_report

上記は以下を表している。

ただし見積もり(見込み)の計算は、見積もり属性 m:(見積もり[分]) を付与したタスクのみ対象となる。付与していないタスクの見積時間は 0 分として扱われる。

================

Programming helper script

ヘルパースクリプト helper.py を秀丸エディタで開く。

Programming this macro

マクロファイル tritask.mac を秀丸エディタで開く。