Releases: VladimirMarkelov/ttdl
Small fixes
- update rust and fix new clippy warnings
- bump dependencies
- when a recurrent task is completed, all time tracking tags are not copied to a new task (to the clone of the completed one)
Rules to setting completion date when completing a task
Before 4.4.0
TTDL sets completion date for a completed task only if the task had creation date before completion. Now this behavior is defined by TTDL configuration file - see global.add_completion_date_always
option, and by a command-line option --add-completion-date-always
. By default the option is disabled, and TTDL works in the same way as it did in older versions.
Edit a subject and keep the original tags
- Update packages and fix clippy warnings
- New option
--keep-tags
or-k
for edit mode. If the option is set, the command must contain a new subject text. A modified todo keeps all
properties (project, context, tags, hashtags), but the regular text is replaced with the new subject (see README.md, sectionEdit in keep-tags mode
for more details)
v4.2.1
Forbid running rm
, done
, undone
, edit
, and postpone
commands without specifying tasks to process
New recurrence interval `b`
- New recurrence interval: business days.
It works as the day interval but all Sundays and Saturdays are skipped. - Now the character
~
can be used in configuration file to set todo and
done files.~
is a shortcut for user's home directory.
Thanks to Enno Zickler for contribution. - Updated docs:
- Added description of strict and non-strict recurrences
- Added ArchLinux installation instructions. Thanks to Justin
Calendar and todotxt compatibilty
Changes since 4.0.0:
-
Fixed a few bugs related to calendar:
- fixed panic when printing calendar for more than 1 year
- when displaying more than 1 year, calendar does not abruptly stops printing after the first day of the last month in the range
- calendar ranges like
--calendar=-2y..-1y
did not work - they displayed emptiness, now it is works as expected
-
Fixed bug with date ranges that has
none
on one of its ends. e.g.--due=today..none
. It should print all tasks which due date is today or later and tasks without due date set, but the old version displayed all the tasks -
New command-line flag
priority-on-done
(see documentation sectionMarking task completed and uncompleted
) and configuration optionglobal.priority_on_done
. They define what to do with task priority when the task is completed. There are four modes: keep, erase, move, and tag - see details in the help.
Automatic column formatting
- New output is incompatible with the output of 3.x version (because of this the major version was increased):
- column width is not constant(except for custom columns), its width fits the longest column value
- columns are shown in the same order as they mentioned in the settings(or in
--fields
option)
- Fixed incorrect syntax highlighting: project and tag colors were swapped
- Threshold tag was duplicated in a task subject even if
--clean-subject=all
was passed to TTDL - New command-line option
auto-hide-cols
: automatically hide columns which have no values - New command-line option
auto-show-cols
: automatically show tags, context, and project in separate columns - New command-line option
always-hide-cols
: never show the mentioned tags in separate columns. The option is good when used together with the optionauto-show-cols
- Neither of new options are mutually exclusive. The order of applying rules to show columns: 1)
--fields
is the base field list; 2) if--auto-show-cols
is defined, add non-empty tags as columns; 3) if--auto-hide-cols
is defined, remove all columns that have no values; 4) if the list--always-hide-cols
is not empty, hide those columns; 5) if--clean-subject
is notnone
, remove all duplicated values from the subject of a task
Plugin fixes (Windows specific changes)
It seems plugin feature is not used by anyone as nobody had opened an issue for the feature that did not work for a long time. Anyway, bugs must be fixed. Changes in this release:
- If a user plugin changed a tag value, the tag was duplicated in the result subject: once with old value and once with a new value
- If a plugin sets the value to empty string, instead of removing the tag from the subject, TTDL added a new tag with empty value to the subject
- Example command line for Powershell in
ttdl.toml
was incorrect. It must be "powershell -F" instead of "powershell -c"
Hiding duplicated info and bug fixes
New features:
- Projects and context can be printed in their own column. Both are hidden by default. To enable columns, pass field list in command-line option
--fields=ctx,prj
or modify configuration optionglobal.fields
- When
Due
, custom tags,Project
andContext
columns are displayed, their values are also printed in the columnSubject
. To hide duplicated information inSubject
, you can pass either the new command-line option--clean-subject
with a desired value (see README, sectionHide duplicated info
) or modify your configuration file to make it permanent
Bug fixes and improvements:
- Flag
--calendar
supports years (in a range -2..2). Now you can print the entire current year withttdl --calendar=1y
- Flag
--calendar
accept ranges:ttdl --calendar=-2m..2m
- BugFix: added missing color reset when printing calendar. In the previous version in calendar mode sometimes today's background was applied to an empty line after the month and sometimes month names were printed with week number color
Calendar revamp
Release highlights:
list --calendar=<range>
now displays a calendar in a human-friendly way: prints every month in a separate columns, month and weekday names in a headerlist --calendar
displays week number (as it is defined by ISO week number)- increased the limits for calendar range in months, now a user can print out up to 24 months:
list --calendar=24m
. In the previous release, the limit was only 3 months - Fixed syntax highlighting: now tags are processed in the last place, so in this release projects and contexts which names contain a colon (
:
) are colored properly