sculd

Sculd, SChedULe Dealer, provides a command ‘sculd’. The command reads ~/.sculd.dat, which is written by HOWM like format text file. It can contain four types of plans;

  • Reminder

  • Deadline

  • Schedule

  • Todo

Each plan generate events and a task. Command ‘sculd’ output events divided to each day and tasks which have high priorities.

word: plan, event, task

Word “plan” is a summarizing name for below;

  • Reminder

  • Deadline

  • Schedule

  • Todo

“event” indicates an occurance which do not need preparation.

“task” indicates a work which you need to consume time.

(MEMO: Event and Task can have a parent class “Job”. But not so now.)

plan

A typical example of a plan, e.g., deadline, is denoted below; “[2012-11-04]!10 descriptionA.” “[2012-11-04]” is a date time part. “!” is a plan type indicator. “10” is an option for type indicator. “descriptionA.” is a description part.

date time part

Digits included by square bracket indicates date. This can be any format if Ruby DateTime::parse can interpret.

This can include information of time, i.e., “[2012-11-04 12:34:56]! descriptionA.”

And can also include information of weekday in parentheses, i.e., “[2012-11-04 (Sun)]! descriptionA.” If the weekday of the date is mismatched with the weekday in parentheses, ‘sculd’ outputs an error and stops. This may be useful to confirm that the plan is correct.

plan type indicates

“-”: reminder “!”: deadline “@”: schedule “+”: todo

priority

Two hight of priority are set for tasks; REMINDER_PRIORITY (10000) DEADLINE_PRIORITY (20000)

Reminder

Till the date: no priority. On the date: REMINDER_PRIORITY. After the date: decrease gradually. (1 per day.)

Option for indiccate doesn’t have meaning and is ignored. A Reminder plan generates one event on the date.

Schedule

Always : no priority.

Option for indiccate doesn’t have meaning and is ignored. A Schedule plan generates one event on the date.

Deadline

Till the date: no priority. Starting date: REMINDER_PRIORITY. During : increase gradually. (linear) On the date: DEADLINE_PRIORITY. After the date: DEADLINE_PRIORITY, keeping.

Starting date is (the_date - option). For example, Starting date of “[2012-11-14]!10 abc” is [2012-11-04]. The default value for the option is seven.

A Deadline plan generates two events; on the starting date and the last date.

Todo

Till the date: no priority. On the date: REMINDER_PRIORITY. During : increase gradually. (linear) Last date: DEADLINE_PRIORITY. After the date: DEADLINE_PRIORITY, keeping.

Todo is very similar to Deadline. Only a difference is that the last day is given to deadline and the first day is given to todo.

A Todo plan generates two events; on the starting date and the last date.

Contributing to sculd

  • Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet.

  • Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it.

  • Fork the project.

  • Start a feature/bugfix branch.

  • Commit and push until you are happy with your contribution.

  • Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright © 2012 ippei94da. See LICENSE.txt for further details.