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.
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 |
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")
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" |
No known limitations.