timewarrior/doc/dom.txt
2016-06-04 11:13:11 -04:00

56 lines
2 KiB
Text

DOM - Document Object Model
===========================
Timewarrior needs DOM support, so that it can service a 'get' command and
provide access to data and rules. Both are important for extensions.
Data to be Accessed
-------------------
Here are the data accessible via DOM references:
- Configuration
- Exclusions
- Command line args in raw form (for rules, not 'get')
Syntax
------
All DOM references have this form:
dom.<name>
--- Raw Notes ---
- Possible DOM references to support:
dom.active --> 0/1 Boolean indicator that tracking is active
dom.active.tags --> 2 Active tag count
dom.active.tag.1 --> 'tag' Active 1st tag
dom.active.start --> YYYYMMDDTHHMMSSZ Active start time
dom.active.duration --> PT1H25M8S Active elapsed
dom.tracked.year --> 231 Quantity this year
dom.tracked.quarter --> 64 Quantity this quarter
dom.tracked.month --> 21 Quantity this month
dom.tracked.week --> 6 Quantity this week
dom.tracked.today --> 2 Quantity today
dom.tracked.today.1 --> {...} 1st interval today JSON
dom.tracked.today.1.start --> YYYYMMDDTHHMMSSZ 1st interval today start
dom.tracked.today.1.end --> YYYYMMDDTHHMMSSZ 1st interval today end
dom.tracked.today.1.tags --> 1 1st interval today tag count
dom.tracked.today.1.tag.1 --> 'tag1' 1st interval today tag
dom.tracked.today.1.duration --> P1H25M8S 1st interval today duration
dom.gap.today
...
rc.<name>
- The above needs to support overlapping tags.
- The above does not support totals, as this would turn DOM references into a
query language. Instead, a 'sum' command could do this. The rules.txt doc
already mentions built-in functions.