Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 3.4 KB

timewarrior.md

File metadata and controls

59 lines (38 loc) · 3.4 KB

Source documentation for Timewarrior.

Timewarrior is one of the most flexible tools. Thanks to its flexibility there is no built-in/dedicated way to mark an entry billable/unbillable, set client, project, or task.

Therefore, several assumptions were made to integrate with Timewarrior, though the goal was to keep the maximum flexibility.

!!! warning

Timewarrior has no built-in support for marking an entry billable/unbillable. Therefore, every entry will be treated as billable unless it is not forced by `force-billed-duration` or a matching tag for `timewarrior-unbillable-tag`.

!!! warning

When `timewarrior-client-tag-regex` or `timewarrior-project-tag-regex` is matching multiple tags, the last tag will be used.

!!! warning

To extract tasks from tags, set the `tags-as-tasks-regex` regardless the value of `tags-as-tasks`.

!!! info

Timewarrior integration unexplicitly supports filtering by tags, clients and projects if `timewarrior-arguments` is set.

Field mappings

The source makes the following special mappings.

From To Description
Annotation Notes, Summary, Task (optionally) Annotations are used to set Notes and Summary; if no task regex is set, it will be used for Task as well
Tags Client, Project, Task Depending on the client, project, and task regex, tags will be used accordingly

CLI flags

The source provides to following extra CLI flags.

Flags:
    --timewarrior-arguments strings          set additional arguments
    --timewarrior-client-tag-regex string    regex of client tag pattern
    --timewarrior-command string             set the executable name (default "timew")
    --timewarrior-project-tag-regex string   regex of project tag pattern
    --timewarrior-unbillable-tag string      set the unbillable tag (default "unbillable")

Configuration options

The source provides the following extra configuration options.

Config option Kind Description Example
timewarrior-arguments string Set additional arguments for the export command timewarrior-arguments = "reviewed"
timewarrior-client-tag-regex string Set the regular expression for extracting Client names from tags timewarrior-client-tag-regex = "^(CLIENT-\w+)$"
timewarrior-command string Set the timewarrior command timewarrior-command = "timew"
timewarrior-project-tag-regex string Set the regular expression for extracting Project names from tags timewarrior-project-tag-regex = "^PROJ-DEV-\w+$"
timewarrior-unbillable-tag string Set the regular expression to identify which entries are unbillable timewarrior-unbillable-tag = "unbillable"

Limitations

No known limitations.