= timew-modify(1)

== NAME
timew-modify - change the range of an interval

== SYNOPSIS
[verse]
*timew modify* (*start*|*end*) _<id>_ _<date>_
*timew modify* range _<id>_ _<range>_

== DESCRIPTION
The 'modify' command is used to change range of an interval.

Using the 'start' or 'end' subcommand, one can either specify a new start or end date respectively, or with the 'range' subcommand, change the complete range.
The interval to be modified is specified via its id.

If the resulting interval overlaps with an existing interval, the command will return an error.
One can add the ':adjust' hint to force an overwrite in this case.

See **timew-summary**(1) on how to retrieve the interval id.

== HINTS
The 'modify' command accepts the following hints:

**:fill**::
The ':fill' hint can be used instead of a date or date range to fill the gap between the interval to be modified and its adjacent intervals.
For subcommands 'start' and 'end', the ':fill' hint will fill the gap between the targeted interval and the next or previous interval respectively.
For the 'range' subcommand, it will fill gaps on both sides of the modified interval.

**:adjust**::
The ':adjust' hint can be added to force the modification of the interval, if it overlaps with an existing interval.
This will overwrite the existing interval.

== EXAMPLES
*Modify the start date of an interval*::
+
    $ timew modify start @3 2020-12-28T17:00
+
This sets the start of interval '@3' to '17:00' of date '2020-12-28'.
If this datetime is after the end of the interval, the command will return an error.

*Modify the end date of an interval*::
+
If the interval to be modified has the same date as today, it can be omitted:
+
    $ timew modify end @3 18:00
+
Similar to when modifying the interval start, the end datetime has to be after the start datetime.

*Modify the range of an interval*::
+
Instead of modifying start and end separately, those can be combined into a single call of the 'range' subcommand:
+
    $ timew modify range @3 2020-12-28T17:00 - 2020-12-28T18:00
+
As in the examples above, the date portion can be omitted, if the date of the interval is today.

*Modify the range of an interval and fill gaps*::
+
    $ timew modify range @3 :fill
+
This modifies the interval '@3' and automatically fills any gaps between this interval and its adjacent intervals.

== SEE ALSO
**timew-lengthen**(1),
**timew-move**(1),
**timew-resize**(1),
**timew-shorten**(1),
**timew-summary**(1)
