Pass rc.weekstart to libshared for ISO8601 weeknum parsing if "monday" (#3654)
* libshared: bump for weekstart, epoch defines, eopww fix mainly those visible changes, and miscellaneous others see GothenburgBitFactory/taskwarrior#3623 (weekstart) see GothenburgBitFactory/taskwarrior#3651 (epoch limit defines) see GothenburgBitFactory/libshared#73 (eopww fix) * Initialize libshared's weekstart from user's rc.weekstart config This enables use of newer libshared code that can parse week numbers according to ISO8601 instead of existing code which is always using Sunday-based weeks. To get ISO behavior, set rc.weekstart=monday. Default is still Sunday / old algorithm, as before, since Sunday is in the hardcoded default rcfile. Weekstart does not yet fix week-relative shortcuts, which will still always use Monday. See #3623 for further details.
This commit is contained in:
@@ -1105,6 +1105,11 @@ void Context::staticInitialization() {
|
||||
Task::regex = Variant::searchUsingRegex = config.getBoolean("regex");
|
||||
Lexer::dateFormat = Variant::dateFormat = config.get("dateformat");
|
||||
|
||||
auto weekStart = Datetime::dayOfWeek(config.get("weekstart"));
|
||||
if (weekStart != 0 && weekStart != 1)
|
||||
throw std::string(
|
||||
"The 'weekstart' configuration variable may only contain 'Sunday' or 'Monday'.");
|
||||
Datetime::weekstart = weekStart;
|
||||
Datetime::isoEnabled = config.getBoolean("date.iso");
|
||||
Datetime::standaloneDateEnabled = false;
|
||||
Datetime::standaloneTimeEnabled = false;
|
||||
|
||||
Reference in New Issue
Block a user