mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-08-19 00:43:07 +02:00
Merge branch '2.6.0'
This commit is contained in:
commit
c010855bac
456 changed files with 17264 additions and 12446 deletions
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
github: GothenburgBitFactory
|
10
.github/workflows/tests.yaml
vendored
10
.github/workflows/tests.yaml
vendored
|
@ -6,9 +6,6 @@ jobs:
|
|||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- name: "Centos 7"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: centos7
|
||||
- name: "Centos 8"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: centos8
|
||||
|
@ -21,9 +18,9 @@ jobs:
|
|||
- name: "Fedora 33"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: fedora33
|
||||
- name: "Debian Stable"
|
||||
- name: "Fedora 34"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: debianstable
|
||||
dockerfile: fedora34
|
||||
- name: "Debian Testing"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: debiantesting
|
||||
|
@ -33,6 +30,9 @@ jobs:
|
|||
- name: "Ubuntu 20.04"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: ubuntu2004
|
||||
- name: "Ubuntu 21.04"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: ubuntu2104
|
||||
- name: "OpenSUSE 15.0"
|
||||
runner: ubuntu-latest
|
||||
dockerfile: opensuse1500
|
||||
|
|
16
AUTHORS
16
AUTHORS
|
@ -3,6 +3,7 @@ contributions of the following people:
|
|||
|
||||
Paul Beckingham (Principal Author)
|
||||
Federico Hernandez (Principal Author)
|
||||
Tomas Babej (Principal Author)
|
||||
David J Patrick (Designer)
|
||||
John Florian (Contributing Author)
|
||||
Cory Donnelly (Contributing Author)
|
||||
|
@ -13,7 +14,6 @@ contributions of the following people:
|
|||
Louis-Claude Canon (Contributing Author)
|
||||
Scott Kostyshak (Contributing Author)
|
||||
Renato Alves (Contributing Author)
|
||||
Tomas Babej (Contributing Author)
|
||||
|
||||
The following submitted code, packages or analysis, and deserve special thanks:
|
||||
|
||||
|
@ -150,9 +150,14 @@ The following submitted code, packages or analysis, and deserve special thanks:
|
|||
Janik Rabe
|
||||
mrossinek
|
||||
taiyu-len
|
||||
Lionel Miller
|
||||
Chad Phillips
|
||||
Lionel Miller
|
||||
Florian Heiderich
|
||||
Anthony VB
|
||||
Julien Rabinow
|
||||
Daniel Mowitz
|
||||
Scott Mcdermott
|
||||
Bharatvaj
|
||||
|
||||
Thanks to the following, who submitted detailed bug reports and excellent
|
||||
suggestions:
|
||||
|
@ -336,5 +341,8 @@ suggestions:
|
|||
Martin F. Krafft
|
||||
tom-doerr
|
||||
ad-si
|
||||
Adrien Lemaire
|
||||
Wray Zheng
|
||||
coaxial
|
||||
Arvedui
|
||||
reportaman
|
||||
Pablo Vizcay
|
||||
Jake C.
|
||||
|
|
|
@ -7,9 +7,10 @@ include (CheckStructHasMember)
|
|||
set (HAVE_CMAKE true)
|
||||
|
||||
project (task)
|
||||
set (PROJECT_VERSION "2.5.3")
|
||||
include (CXXSniffer)
|
||||
|
||||
set (PROJECT_VERSION "2.6.0")
|
||||
|
||||
OPTION (ENABLE_WASM "Enable 'wasm' support" OFF)
|
||||
|
||||
if (ENABLE_WASM)
|
||||
|
@ -27,13 +28,13 @@ else (ENABLE_SYNC)
|
|||
endif (ENABLE_SYNC)
|
||||
|
||||
message ("-- Looking for libshared")
|
||||
if (EXISTS ${CMAKE_SOURCE_DIR}/src/libshared/.git)
|
||||
if (EXISTS ${CMAKE_SOURCE_DIR}/src/libshared/src)
|
||||
message ("-- Found libshared")
|
||||
else (EXISTS ${CMAKE_SOURCE_DIR}/src/libshared/.git)
|
||||
else (EXISTS ${CMAKE_SOURCE_DIR}/src/libshared/src)
|
||||
message ("-- Cloning libshared")
|
||||
execute_process (COMMAND git submodule update --init
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif (EXISTS ${CMAKE_SOURCE_DIR}/src/libshared/.git)
|
||||
endif (EXISTS ${CMAKE_SOURCE_DIR}/src/libshared/src)
|
||||
|
||||
message ("-- Looking for SHA1 references")
|
||||
if (EXISTS ${CMAKE_SOURCE_DIR}/.git/index)
|
||||
|
@ -111,6 +112,17 @@ else (HAVE_UUID_UNPARSE_LOWER)
|
|||
message ("-- Found libuuid, using internal uuid_unparse_lower")
|
||||
endif (HAVE_UUID_UNPARSE_LOWER)
|
||||
|
||||
if (HAIKU)
|
||||
# search for socket() in libnetwork on Haiku
|
||||
message("-- Looking for libnetwork")
|
||||
find_library (NETWORK_LIBRARY NAMES network)
|
||||
if (NETWORK_LIBRARY)
|
||||
set (TASK_LIBRARIES ${TASK_LIBRARIES} ${NETWORK_LIBRARY})
|
||||
else (NETWORK_LIBRARY)
|
||||
message(FATAL_ERROR "-- libnetwork not found.")
|
||||
endif (NETWORK_LIBRARY)
|
||||
endif (HAIKU)
|
||||
|
||||
if (SOLARIS)
|
||||
# accept() is in libsocket according to its manpage
|
||||
message("-- Looking for libsocket")
|
||||
|
@ -153,6 +165,18 @@ foreach (doc_FILE ${doc_FILES})
|
|||
install (FILES ${doc_FILE} DESTINATION ${TASK_DOCDIR})
|
||||
endforeach (doc_FILE)
|
||||
|
||||
add_custom_command(OUTPUT run-review
|
||||
COMMAND docker build -q --build-arg PR=$(PR) --build-arg LIBPR=$(LIBPR) -t taskwarrior-review:$(PR)s$(LIBPR) - < scripts/review-dockerfile
|
||||
COMMAND docker run --rm --memory 1g --hostname pr-$(PR)s$(LIBPR) -it taskwarrior-review:$(PR)s$(LIBPR) bash || :
|
||||
)
|
||||
add_custom_target(review DEPENDS run-review)
|
||||
|
||||
add_custom_command(OUTPUT run-reproduce
|
||||
COMMAND docker build -q --build-arg RELEASE=$(RELEASE) -t taskwarrior-reproduce:$(RELEASE) - < scripts/reproduce-dockerfile
|
||||
COMMAND docker run --rm --memory 1g --hostname tw-$(RELEASE) -it taskwarrior-reproduce:$(RELEASE) bash || :
|
||||
)
|
||||
add_custom_target(reproduce DEPENDS run-reproduce)
|
||||
|
||||
# ---
|
||||
|
||||
set (CPACK_SOURCE_GENERATOR "TGZ")
|
||||
|
@ -161,5 +185,7 @@ set (CPACK_SOURCE_IGNORE_FILES "CMakeCache" "CMakeFiles" "CPackConfig" "CPackSo
|
|||
"_CPack_Packages" "cmake_install" "install_manifest" "Makefile$"
|
||||
"test" "package-config" "misc/*" "src/task$" "src/calc$" "performance"
|
||||
"src/libtask.a" "src/columns/libcolumns.a" "src/commands/libcommands.a"
|
||||
".github/" "/\\\\.gitignore" "/\\\\.git/" "swp$" "src/lex$" ".*tar.gz")
|
||||
"swp$" "src/lex$" "task-.*.tar.gz" "commit.h" "cmake.h$" "\\\\.gitmodules"
|
||||
"src/libshared/\\\\.git" ".github/" ".*\\\\.gitignore$"
|
||||
"src/liblibshared.a" "docker-compose.yml" "\\\\.git/")
|
||||
include (CPack)
|
||||
|
|
2
COPYING
2
COPYING
|
@ -1,6 +1,6 @@
|
|||
Taskwarrior - a command line task list manager.
|
||||
|
||||
Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
147
ChangeLog
147
ChangeLog
|
@ -1,9 +1,148 @@
|
|||
2.5.3 () -
|
||||
2.6.0 () -
|
||||
|
||||
- TW #1654 "Due" parsing behaviour seems inconsistent
|
||||
Thanks to Jim B for reporting.
|
||||
- TW #1788 When deleting recurring task all tasks, including completed tasks,
|
||||
are marked as deleted
|
||||
Thanks to Alan Young for reporting.
|
||||
- TW #1804 Importing malformed annotation (without entry timestamp) causes
|
||||
segmentation fault.
|
||||
Thanks to David Badura for reporting.
|
||||
- TW #1840 Countdown (date format) is not working properly
|
||||
Thanks to Eric Hymowitz for reporting, Sebastian Uharek for
|
||||
contributing.
|
||||
- TW #1847 Allow including files relative to $PREFIX/share/
|
||||
Thanks to Georg Sauthoff for suggesting, oxalica for contributing.
|
||||
- TW #1896 Parser cannot handle empty parentheses
|
||||
- TW #1908 Cannot create task with explicit description 'start ....'
|
||||
Thanks to Matt Chun-Lum for reporting.
|
||||
- TW #1911 Support holidays longer then 1 day
|
||||
Thanks to Daniel Mowitz for contributing.
|
||||
- TW #1913 Project names with dashes and attribute names fail to parse
|
||||
Thanks to Yanick Champoux for reporting.
|
||||
- TW #1914 Non-cumulative burndown report
|
||||
Thanks to Daniel Mowitz for contributing.
|
||||
- TW #1938 Missing annotation on import if entry is duplicated
|
||||
Thanks to Florian for reporting.
|
||||
- TW #1945 Support of environment variables for configuration options
|
||||
Thanks to Sebastian Uharek for contributing.
|
||||
- TW #1953 Setting rc.verbose=new-uuid override works only if given as first argument
|
||||
Thanks to Paul Fenwick for reporting.
|
||||
- TW #1955 Adding tasks in context.
|
||||
Thanks to Jean-Francois Joly, Matt Smith for suggesting.
|
||||
- TW #1960 Fixed bug with double escaped single quotes.
|
||||
Thanks to Ben Kelly for reporting, Sebastian Uharek for
|
||||
contributing.
|
||||
- TW #2004 "shell" should not be expand to "exec tasksh"
|
||||
Thanks to Arvedui for reporting.
|
||||
- TW #2007 Compute number of current tasks correctly
|
||||
Thanks to Janik Rabe for contributing.
|
||||
- TW #2017 Support 64-bit datetime values
|
||||
Thanks to Evgeniy Vasilev for suggesting.
|
||||
- TW #2023 Layout breaks if report does not fit in the available width
|
||||
Thanks to Adrian Sieber and Kaushik Gopal for reporting.
|
||||
- TW #2060 Review timestamp is displayed as unix time, not formatted
|
||||
Thanks to JavaZauber for reporting.
|
||||
- TW #2093 wrong order under projects command
|
||||
Thanks to Beka, Max Rossmannek for reporting.
|
||||
- TW #2101 Numeric UDA values above 2,147,483,647 overflow without warning
|
||||
Thanks to Adam Monsen for reporting.
|
||||
- TW #2136 Configuration options can be overwritten for current context
|
||||
Thanks to Sebastian Uharek for contributing.
|
||||
- TW #2160 Upper-case named dates are not supported
|
||||
Thanks to Scott Kostyshak for reporting, Max Rossmannek for
|
||||
contributing.
|
||||
- TW #2163 Nagging computation should be based on the urgency before completion
|
||||
Thanks to korrat for contributing.
|
||||
- TW #2208 Support highlighting dates with scheduled tasks in calendar
|
||||
Thanks to justf0rfun for suggesting, Sebastian Uharek for
|
||||
contributing.
|
||||
- TW #2247 Configuration override rc.verbose:off not respected
|
||||
Thanks to Vignesh Prabhu for reporting.
|
||||
- TW #2257 UDA string fields can't start with certain keywords
|
||||
Thanks to Michael Russell for reporting.
|
||||
- TW #2283 Support multi-line annotations in task edit without JSON encoding
|
||||
Thanks to Jochen Sprickerhof for contributing.
|
||||
- TW #2287 Speed up fish autocompletion and more completion options.
|
||||
Thanks to Tin Lai for contributing.
|
||||
- TW #2290 Support moving the config file to XDG_CONFIG_HOME
|
||||
Thanks to Julien Rabinow for contributing.
|
||||
- TW #2292 CmdEdit: Interruption should remove lock file
|
||||
Thanks to Martin Michlmayr for reporting, indev12 for contributing.
|
||||
- TW #2333 Width determination of Unicode characters now works for up to
|
||||
Unicode 12 (from Unicode 5). Emojis are correctly displayed.
|
||||
Thanks to Adam Monsen for reporting.
|
||||
- TW #2373 Year 2038 Problem
|
||||
Thanks to Stephan Rieche for reporting.
|
||||
- TW #2386 Filtering project:someday broken
|
||||
Thanks to FRebbel for reporting.
|
||||
- TW #2388 Filtering for attribute values with spaces is broken
|
||||
Thanks to angelus2014 for reporting.
|
||||
- TW #2389 For certain terminal widths, annotations with utf-8 chars can lead
|
||||
task to hang
|
||||
Thanks to arooni for reporting.
|
||||
- TW #2390 Regression: Relative dates should be implicitly anchored around 'now'
|
||||
Thanks to Dominik Russo for reporting.
|
||||
- TW #2392 Filtering for project-names containing hyphen and zero-leading number
|
||||
Thanks to Nicola Chiapolini for reporting.
|
||||
- TW #2393 Highlight due dates for waiting tasks in the calendar
|
||||
Thanks to emkamau for reporting.
|
||||
- TW #2403 Undefined symbols (with -DBUILD_SHARED_LIBS=ON)
|
||||
Thanks to Jan Palus for contributing.
|
||||
- TW #2422 "eow" and "eonw" seem to use different week day as reference
|
||||
Thanks to bgravato for reporting.
|
||||
- TW #2428 The "edit" command should respect "bulk" configuration option
|
||||
Thanks to Evan Edmond for reporting.
|
||||
- TW #2442 Bulk completions generate nagging message even if highest urgency
|
||||
task was completed
|
||||
Thanks to Daniel Mowitz for contributing.
|
||||
- TW #2451 Command task $month doesn't behave correctly
|
||||
Thanks to Matias Laporte for reporting.
|
||||
- TW #2502 Two GCC warnings on 2.6.0.
|
||||
Thanks to Scott Kostyshak for reporting.
|
||||
- TW #2503 Warn against executing an empty execute command.
|
||||
Thanks to heinrichat for reporting.
|
||||
- TW #2514 Duration values can be mis-reported in the task info output
|
||||
Thanks to reportaman for reporting.
|
||||
- TW #2519 Named date eod should be last minute of today and not first of
|
||||
tomorrow.
|
||||
Thanks to Pablo Vizcay for reporting.
|
||||
- TW #2530 Taskwarrior 2.5.3 time based filtering regression
|
||||
Thanks to Matthias Tafelmeier for reporting.
|
||||
- TW #2532 Show number of tasks to be modified in bulk updates
|
||||
Thanks to jaker-dotcom for suggesting, Sebastian Uharek for
|
||||
contributing.
|
||||
- TW #2536 Feature: inclusive range-end attribute modifier 'by' so 'end of'
|
||||
named dates can be filtered inclusively
|
||||
Thanks to Scott Mcdermott for contributing.
|
||||
- TW #2549 Write context with complex expressions should not be allowed
|
||||
Thanks to Sebastian Fricke for reporting.
|
||||
- TW #2550 Write context skipped if description contains an identifier
|
||||
Thanks to Sebastian Fricke for reporting.
|
||||
- TW #2554 Remove the waiting state, and consider any task with wait>now to be
|
||||
waiting
|
||||
Thanks to Dustin J. Mitchell for contributing.
|
||||
- TW #2560 Add report.<name>.context configuration variable
|
||||
Thanks to Jake C for suggesting.
|
||||
- TW #2461 The legend in calendar does not respect the calendar.holidays setting
|
||||
- TW #2569 The `json.depends.array` configuration option is now ignored.
|
||||
Dependencies are always represented as an array in JSON output.
|
||||
Thanks to Dustin J. Mitchell for contributing.
|
||||
- TW #2575 Support exporting given report as JSON, including sort order
|
||||
Thanks to Dheepak Krishnamurthy for contributing.
|
||||
- TW #2580 Importing malformed JSON task crashes TW
|
||||
Thanks to bharatvaj for contributing.
|
||||
- TW #2581 Config entry with a trailing comment cannot be modified
|
||||
|
||||
|
||||
------ current release ---------------------------
|
||||
|
||||
2.5.3 (2021-01-05) - 2f47226f91f0b02f7617912175274d9eed85924f
|
||||
|
||||
- #2375 task hangs then dies when certain tasks are present in a report
|
||||
Thanks to Max Rossmannek, Tomáš Janoušek and Chad Phillips.
|
||||
|
||||
------ current release ---------------------------
|
||||
------ old releases ------------------------------
|
||||
|
||||
2.5.2 (2020-12-05) - b0c17d11639dc6e783befd89c8508f2abb9b4287
|
||||
|
||||
|
@ -269,8 +408,6 @@
|
|||
- The 'run_all' script was not correctly using exit code 0 when all tests pass
|
||||
(thanks to Gordon Ball).
|
||||
|
||||
------ old releases ------------------------------
|
||||
|
||||
2.5.0 (2015-10-21) dd5968a61b1fab258b38879cfdbb7d67f1bcd550
|
||||
|
||||
- TW-20 Task edit loses annotation precision, causing journal updating code
|
||||
|
@ -1305,7 +1442,7 @@ Bugs
|
|||
- All holiday files have been renamed to include a locale, rather than just a
|
||||
country code. For example: holidays.en-US.rc.
|
||||
- Now ships with an add-on script, update-holidays.pl, which contacts
|
||||
http://holidata.net, and brings the installed holiday files up to date.
|
||||
https://holidata.net, and brings the installed holiday files up to date.
|
||||
- Extension system now controlled by the 'extensions' configuration variable.
|
||||
- HTML export in the form of an external scripts export-html.pl.
|
||||
- Two additional solarized theme files, solarized-dark-256.theme and
|
||||
|
|
19
DEVELOPER.md
19
DEVELOPER.md
|
@ -2,10 +2,10 @@
|
|||
|
||||
## Satisfy the Requirements:
|
||||
* CMake 3.0 or later
|
||||
* gcc 5.0 or later, clang 3.4 or later, or a compiler with full C++14 support
|
||||
* gcc 7.0 or later, clang 6.0 or later, or a compiler with full C++17 support
|
||||
* libuuid (if not on macOS)
|
||||
* gnutls (optional)
|
||||
* python 2.7 or 3 (optional, for running the test suite)
|
||||
* python 3 (optional, for running the test suite)
|
||||
|
||||
## Obtain and build code:
|
||||
```
|
||||
|
@ -20,7 +20,7 @@
|
|||
```
|
||||
## Running Test Suite:
|
||||
```
|
||||
$ cd tests
|
||||
$ cd test
|
||||
$ make VERBOSE=1 # Shows details
|
||||
$ ./run_all # Runs all tests silently > all.log
|
||||
$ ./problems # Enumerate test failures in all.log
|
||||
|
@ -44,9 +44,9 @@
|
|||
always ongoing discussions about new features and changes to existing
|
||||
features.
|
||||
|
||||
* Join us in the #taskwarrior IRC channel on freenode.net. Many great ideas,
|
||||
suggestions, testing and discussions have taken place there. It is also
|
||||
the quickest way to get help, or confirm a bug.
|
||||
* Join us in the #taskwarrior IRC channel on freenode.net or libera.chat.
|
||||
Many great ideas, suggestions, testing and discussions have taken place
|
||||
there. It is also the quickest way to get help, or confirm a bug.
|
||||
|
||||
* Review documentation: there are man pages, online articles, tutorials and
|
||||
so on, and these may contain errors, or they may not convey ideas in the
|
||||
|
@ -148,10 +148,9 @@
|
|||
# Current Code Base Condition
|
||||
|
||||
**'master' branch**:
|
||||
* 2.5.1 Current release, locked.
|
||||
* 2.5.3 Current release, locked.
|
||||
|
||||
**'2.6.0' branch**:
|
||||
* Current development branch.
|
||||
**'2.6.0' branch**:
|
||||
* Current development branch no plans yet.
|
||||
|
||||
---
|
||||
2018-05-13 Updated for 2.5.2
|
||||
|
|
12
INSTALL
12
INSTALL
|
@ -14,9 +14,9 @@ from source. More information on CMake can be obtained at https://cmake.org
|
|||
You will also need:
|
||||
- make
|
||||
|
||||
You will need a C++ compiler that supports full C++14, which includes:
|
||||
- gcc 5.0 (released 2013-12-23)
|
||||
- clang 3.4 (released 2014-01-02)
|
||||
You will need a C++ compiler that supports full C++17, which includes:
|
||||
- gcc 7.1 (released 2017-05-02)
|
||||
- clang 5.0 (released 2017-09-07)
|
||||
|
||||
You will need the following libraries:
|
||||
- libuuid (not needed for OSX)
|
||||
|
@ -142,9 +142,9 @@ Darwin, 32bit
|
|||
|
||||
See:
|
||||
https://taskwarrior.org/issues/817
|
||||
http://stackoverflow.com/questions/3261909/build-32bit-on-64-bit-linux-using-a-configure-script
|
||||
http://stackoverflow.com/questions/2617508/cmake-gcc-cuda-and-m32-wtf
|
||||
http://stackoverflow.com/questions/6077414/cmake-how-to-set-the-ldflags-in-cmakelists-txt
|
||||
https://stackoverflow.com/questions/3261909/build-32bit-on-64-bit-linux-using-a-configure-script
|
||||
https://stackoverflow.com/questions/2617508/cmake-gcc-cuda-and-m32-wtf
|
||||
https://stackoverflow.com/questions/6077414/cmake-how-to-set-the-ldflags-in-cmakelists-txt
|
||||
|
||||
|
||||
OpenBSD
|
||||
|
|
7
LICENSE
7
LICENSE
|
@ -1,6 +1,8 @@
|
|||
Taskwarrior - a command line task list manager.
|
||||
The MIT License
|
||||
|
||||
Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
https://www.opensource.org/licenses/mit-license.php
|
||||
|
||||
Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -20,4 +22,3 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
https://www.opensource.org/licenses/mit-license.php
|
||||
|
|
138
NEWS
138
NEWS
|
@ -1,24 +1,148 @@
|
|||
This is a bugfix release.
|
||||
New Features in Taskwarrior 2.6.0
|
||||
|
||||
Important fixes in 2.5.3:
|
||||
- The logic behind new-uuid verbosity option changed. New-uuid now overrides
|
||||
new-id if set and will cause Taskwarrior to display UUIDs instead of IDs
|
||||
for new tasks (machine friendly).
|
||||
- If ~/.taskrc is not found, Taskwarrior will look for its configuration in
|
||||
$XDG_CONFIG_HOME/task/taskrc (defaulting to ~/.config/task/taskrc). This
|
||||
allows users to setup their Taskwarrior to follow XDG standard without
|
||||
using config overrides.
|
||||
- Newer Unicode characters, such as emojis are correctly handled and displayed.
|
||||
Taskwarrior now supports all Unicode characters up to Unicode 12.
|
||||
- Datetime values until year 9999 are now supported.
|
||||
Duration values of up to 1 000 000 years are now supported.
|
||||
- 64-bit numeric values (up to 9,223,372,036,854,775,807) are now supported.
|
||||
- Later/someday named datetime values now resolve to 9999-12-30 (instead of
|
||||
2038-01-18).
|
||||
- Calendar now supports displaying due dates until year 9999.
|
||||
- Calendar now displays waiting tasks with due dates on the calendar.
|
||||
- Calendar supports highlighting days with scheduled tasks.
|
||||
- Multi-day holidays are now supported.
|
||||
- Holiday data files for fr-CA, hu-HU, pt-BR, sk-SK and sv-FI locales are now
|
||||
generated and shipped with Taskwarrior.
|
||||
- The task edit command can now handle multi-line annotations and UDAs in a
|
||||
user friendly way, withouth having to handle with JSON escaping of special
|
||||
chars.
|
||||
- A large portion of currently known parser-related issues was fixed.
|
||||
- The taskrc file now supports relative paths, which are evaluated with
|
||||
respect to (a) current directory, (b) taskrc directory and (c) now also the
|
||||
installation directory of configuration files.
|
||||
- The currently selected context is now applied for "task add" and "task log"
|
||||
commands. Section on contexts in the manpage was updated to describe this
|
||||
functionality.
|
||||
- Users can specify per-context specific overrides of configuration variables.
|
||||
- The `task import` command can now accept annotations with missing entry
|
||||
values. Current time will be assumed.
|
||||
- The new 'by' filter attribute modifier compares using '<=' rather than '<'
|
||||
as 'before' uses. This allows the last second of the day to match with
|
||||
'due.by:eod', which it would not otherwise. It also works with
|
||||
whole units like days, e.g. 'add test due:2021-07-17' would not match
|
||||
'due.before:tomorrow' (on the 16th), but would match 'due.by:tomorrow'.
|
||||
- Waiting is now an entirely "virtual" concept, based on a task's
|
||||
'wait' property and the current time. Task is consiered "waiting" if its
|
||||
wait attribute is in the future. TaskWarrior no longer explicitly
|
||||
"unwaits" a task (the wait attribute is not removed once its value is in
|
||||
the past), so the "unwait' verbosity token is no longer available.
|
||||
This allows for filtering for tasks that were waiting in the past
|
||||
intervals, but are not waiting anymore.
|
||||
- The configuration file now supports environment variables.
|
||||
- Taskwarrior can now handle displaying tasks in windows with limited width,
|
||||
even if columns contain long strings (like URLs).
|
||||
- The nag message is emitted at most once per task command, even with bulk
|
||||
operations. Additionally, the urgency of the task considered is taken
|
||||
before the completion, not after.
|
||||
- The export command now takes an optional argument that references an
|
||||
existing report. As such, "task export <report>" command will export
|
||||
the same tasks that "task <report>" prints, and in the same order.
|
||||
- The burndown command now supports non-cumulative display, where tasks only
|
||||
get plotted within the interval segment when they got completed.
|
||||
|
||||
- Taskwarrior no longer hangs with wrapped tasks in the report (#2375).
|
||||
|
||||
New Commands in Taskwarrior 2.6.0
|
||||
|
||||
- The 'news' command will guide the user through important release notes
|
||||
anytime a new version of Taskwarrior is installed. It provides personalized
|
||||
feedback, deprecation warnings and usage advice, where applicable.
|
||||
|
||||
New Configuration Options in Taskwarrior 2.6.0
|
||||
|
||||
- The context definitions for reporting commmands are now stored in
|
||||
"context.<name>.read". Context definitions for write commands are now
|
||||
supported using "context.<name>.write" configuration variable.
|
||||
- The context-specific configuration overrides are now supported. Use
|
||||
context.<name>.rc.<key>=<value> to override, such as
|
||||
context.work.rc.urgency.blocking=5.0 to override the value of urgency.blocking
|
||||
when the 'work' context is active.
|
||||
- Each report (and the timesheet command) can explicitly opt-out from the
|
||||
currently active context by setting the report.<name>.context variable to 0
|
||||
(defaults to 1). Useful for defining universal reports that ignore
|
||||
currently set context, such as 'inbox' report for GTD methodology.
|
||||
- Multi-day holidays are now supported. Use holiday.<name>.start=<date> and
|
||||
holiday.<name>.end=<date> to specify a range-based holiday, such as a
|
||||
vacation.
|
||||
- Verbosity token 'default' was introduced in order to display information
|
||||
about default actions.
|
||||
- The new burndown.cumulative option can be used to toggle between
|
||||
non-cumulative and cumulative version of the burndown command.
|
||||
- The new color.calendar.scheduled setting can be used to control the
|
||||
highlighting color of days in the calendar that have scheduled tasks.
|
||||
|
||||
|
||||
Newly Deprecated Features in Taskwarrior 2.6.0
|
||||
|
||||
- The 'PARENT' and 'CHILD' virtual tags are replaced by 'TEMPLATE' and 'INSTANCE'.
|
||||
- The 'waiting' status is now deprecated. We recommend using +WAITING virtual tag
|
||||
or wait-attribute based filters, such as 'wait.before:eow' instead.
|
||||
- The configuration variable 'monthsperline' is deprecated. Please use
|
||||
'calendar.monthsperline' instead.
|
||||
|
||||
Fixed regressions in 2.6.0
|
||||
|
||||
- The "end of <date>" named dates ('eod', 'eow', ...) were pointing to the
|
||||
first second of the next day, instead of last second of the referenced
|
||||
interval. This was a regression introduced in 2.5.2.
|
||||
- The "eow" and "eonw" were using a different weekday as a reference. This
|
||||
was a regeression introduced in 2.5.2.
|
||||
- The rc.verbose=<value> configuration override was applied only if it were
|
||||
the first configuration override. In #2247, this manifested itself as
|
||||
inability to supress footnotes about the overrides, and in #1953 as failure
|
||||
to force task to display UUIDs of on task add. This was a regression
|
||||
introduced in 2.5.2.
|
||||
- The attribute values of the form "<attribute name>-<arbitrary string>", for
|
||||
example "due-nextweek" or "scheduled-work" would fail to parse (see
|
||||
#1913). This was a regression introduced in 2.5.1.
|
||||
- The capitalized versions of named dates (such as Monday, February or
|
||||
Tomorrow) are again supported. This was a regression introduced in 2.5.2.
|
||||
- The duration periods are converted to datetime values using the
|
||||
current time as the anchor, as opposed to the beginning of unix time.
|
||||
This was a regression in 2.5.2.
|
||||
- Filtering for attribute values containing dashes and numbers (such as
|
||||
'vs.2021-01', see #2392) or spaces (such as "Home renovation", see #2388)
|
||||
is again supported. This was a regression introduced in 2.4.0.
|
||||
|
||||
Removed Features in 2.6.0
|
||||
|
||||
-
|
||||
|
||||
Other notable changes in 2.6.0
|
||||
|
||||
- C++17 compatible compiler is now required (GCC 7.1 or older / clang 5.0 or older).
|
||||
|
||||
Known Issues
|
||||
|
||||
- https://github.com/GothenburgBitFactory/taskwarrior
|
||||
|
||||
Taskwarrior 2.5.3 has been built and tested on the following configurations:
|
||||
Taskwarrior 2.6.0 has been built and tested on the following configurations:
|
||||
|
||||
* Archlinux
|
||||
* OpenSUSE
|
||||
* macOS 10.15
|
||||
* Fedora (31, 32, 33)
|
||||
* Ubuntu (18.04, 20.04)
|
||||
* Fedora (31, 32, 33, 34)
|
||||
* Ubuntu (18.04, 20.04, 21.04)
|
||||
* Debian (Stable, Testing)
|
||||
* CentOS (7, 8)
|
||||
|
||||
We expect Taskwarrior to work on other platforms as well.
|
||||
However, we expect Taskwarrior to work on other platforms as well.
|
||||
|
||||
---
|
||||
|
||||
|
|
95
README.md
95
README.md
|
@ -1,25 +1,63 @@
|
|||
# Taskwarrior
|
||||
<div align="center">
|
||||
<img src="https://avatars.githubusercontent.com/u/36100920?s=200&u=24da05914c20c4ccfe8485310f7b83049407fa9a&v=4"></br>
|
||||
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/actions)
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/actions)
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/releases/latest)
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/releases/latest)
|
||||

|
||||
[](https://github.com/sponsors/GothenburgBitFactory/)
|
||||
</br>
|
||||
[](https://twitter.com/taskwarrior)
|
||||
</div>
|
||||
|
||||
Thank you for taking a look at Taskwarrior!
|
||||
## Taskwarrior
|
||||

|
||||

|
||||

|
||||
|
||||
Taskwarrior is a GTD, todo list, task management, command line utility with a
|
||||
multitude of features. It is a portable, well supported and very active Open
|
||||
Source project.
|
||||
Taskwarrior is a command line task list management utility with a [multitude of
|
||||
features](https://taskwarrior.org/docs/), developed as a portable open source project
|
||||
with an active and quite vast [ecosystem of tools, hooks and
|
||||
extensions](https://taskwarrior.org/tools/).
|
||||
|
||||
## Install
|
||||
[](https://archlinux.org/packages/community/x86_64/task/)
|
||||
[](https://packages.debian.org/search?keywords=task&searchon=names&suite=all§ion=all)
|
||||
[](https://bodhi.fedoraproject.org/updates/?packages=task)
|
||||
[](https://formulae.brew.sh/formula/task#default)
|
||||
[](https://packages.ubuntu.com/search?keywords=task&searchon=names&suite=hirsute§ion=all)
|
||||
|
||||
Taskwarrior is packaged on a wide range of [Linux/Unix systems, Mac OS and
|
||||
Windows](https://taskwarrior.org/download/). Check out the latest available
|
||||
packages in repositories of your OS distribution of choice [on
|
||||
Repology](https://repology.org/project/taskwarrior/versions).
|
||||
|
||||
Alternatively, you can build Taskwarrior from source.
|
||||
|
||||
## Documentation
|
||||
|
||||
There is extensive online documentation.
|
||||
You'll find all the details at [taskwarrior.org/docs](https://taskwarrior.org/docs)
|
||||
The [online documentation](https://taskwarrior.org/docs), downloads, news and
|
||||
more are available on our website, [taskwarrior.org](https://taskwarrior.org).
|
||||
|
||||
At the site you'll find online documentation, downloads, news and more.
|
||||
We also recommend following [@taskwarrior on
|
||||
Twitter](https://twitter.com/taskwarrior), where we share info about new
|
||||
features, releases and various tips and tricks for new Taskwarrior users.
|
||||
|
||||
## Support
|
||||
## Community
|
||||
[](https://twitter.com/taskwarrior)
|
||||
[](https://reddit.com/r/taskwarrior/)
|
||||
[](https://web.libera.chat/#taskwarrior)
|
||||
[](https://discord.gg/eRXEHk8w62)
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/discussions)
|
||||
|
||||
For support options, take a look at [taskwarrior.org/support](https://taskwarrior.org/support)
|
||||
Taskwarrior has a lively community on many places on the internet.
|
||||
|
||||
Please use pull requests, or alternately send your code patches to
|
||||
Best place to ask questions is our [discussions forum on
|
||||
Github](https://github.com/GothenburgBitFactory/taskwarrior/discussions). For
|
||||
other support options, take a look at
|
||||
[taskwarrior.org/support](https://taskwarrior.org/support)
|
||||
|
||||
For code contributions, please use pull requests, or alternately send your code patches to
|
||||
[support@gothenburgbitfactory.org](mailto:support@gothenburgbitfactory.org)
|
||||
|
||||
## Branching Model
|
||||
|
@ -32,8 +70,7 @@ We use the following branching model:
|
|||
|
||||
* `2.6.0` is the current development branch. All work is done here, and upon
|
||||
release it will be merged to `master`. This development branch is not stable,
|
||||
may not even build or pass tests, and should be treated accordingly.
|
||||
Make backups.
|
||||
and should be treated accordingly. Make backups.
|
||||
|
||||
## Installing
|
||||
|
||||
|
@ -42,7 +79,9 @@ There are many binary packages available, but to install from source requires:
|
|||
* git
|
||||
* cmake
|
||||
* make
|
||||
* C++ compiler, currently gcc 5.0+ or clang 3.4+ for full C++14 support
|
||||
* C++ compiler, currently gcc 7.1+ or clang 5.0+ for full C++17 support
|
||||
* libuuid
|
||||
* GnuTLS (optional, required for sync)
|
||||
|
||||
Download the tarball, and expand it:
|
||||
|
||||
|
@ -55,17 +94,6 @@ Or clone this repository:
|
|||
$ git clone --recursive -b 2.6.0 https://github.com/GothenburgBitFactory/taskwarrior.git
|
||||
$ cd taskwarrior
|
||||
|
||||
In case of errors with libshared - URL pointing to git.tasktools.org in either .git/config or .gitmodules:
|
||||
|
||||
$ sed -i 's/git.tasktools.org\/TM/github.com\/GothenburgBitFactory/' .git/config
|
||||
$ git submodule update
|
||||
|
||||
or
|
||||
|
||||
$ sed -i 's/git.tasktools.org\/TM/github.com\/GothenburgBitFactory/' .gitmodules
|
||||
$ git submodule init
|
||||
$ git submodule update
|
||||
|
||||
Then build:
|
||||
|
||||
$ cmake -DCMAKE_BUILD_TYPE=release .
|
||||
|
@ -77,14 +105,27 @@ Then build:
|
|||
$ sudo make install
|
||||
|
||||
## Contributing
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/graphs/contributors)
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/milestone/26)
|
||||
[](https://github.com/GothenburgBitFactory/taskwarrior/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
|
||||
|
||||
Your contributions are especially welcome.
|
||||
Whether it comes in the form of code patches, ideas, discussion, bug reports, encouragement or criticism, your input is needed.
|
||||
|
||||
Visit [Github](https://github.com/GothenburgBitFactory/taskwarrior) and participate in the future of Taskwarrior.
|
||||
|
||||
## Sponsoring
|
||||
[](https://github.com/sponsors/GothenburgBitFactory/)
|
||||
|
||||
Taskwarrior is a result of work of mostly small group of volunteers, and has been in development since 2006.
|
||||
|
||||
If you are a happy Taskwarrior user, please consider [sponsoring us through
|
||||
Github Sponsors](https://github.com/sponsors/GothenburgBitFactory/).
|
||||
|
||||
Every sponsorship matters, as it directly increases the number of hours core
|
||||
developers can contribute to the project and makes the project more sustainable.
|
||||
|
||||
## License
|
||||
|
||||
Taskwarrior is released under the MIT license.
|
||||
For details check the [LICENSE](LICENSE) file.
|
||||
|
||||
|
|
|
@ -227,8 +227,8 @@ rule 'color.deleted' has the highest precedence, and 'color.uda.' the lowest.
|
|||
The keyword rule shown here as 'keyword.' corresponds to a wildcard pattern,
|
||||
meaning 'color.keyword.*', or in other words all the keyword rules.
|
||||
|
||||
There is also 'color.project.none', 'color.tag.none' and 'color.pri.none' to
|
||||
specifically represent missing data.
|
||||
There is also 'color.project.none', 'color.tag.none' and
|
||||
'color.uda.priority.none' to specifically represent missing data.
|
||||
|
||||
.SH THEMES
|
||||
Taskwarrior supports themes. What this really means is that with the ability to
|
||||
|
@ -236,11 +236,10 @@ include other files into the .taskrc file, different sets of color rules can
|
|||
be included.
|
||||
|
||||
To get a good idea of what a color theme looks like, try adding this entry to
|
||||
your .taskrc file (note that your installation may use a slightly different path
|
||||
from the example):
|
||||
your .taskrc file:
|
||||
|
||||
.RS
|
||||
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/dark-256.theme
|
||||
include dark-256.theme
|
||||
.RE
|
||||
|
||||
You can use any of the standard Taskwarrior themes:
|
||||
|
@ -288,7 +287,7 @@ Better yet, create your own, and share it. We will gladly host the theme file
|
|||
on <https://taskwarrior.org>.
|
||||
|
||||
.SH "CREDITS & COPYRIGHTS"
|
||||
Copyright (C) 2006 \- 2021 P. Beckingham, F. Hernandez.
|
||||
Copyright (C) 2006 \- 2021 T. Babej, P. Beckingham, F. Hernandez.
|
||||
|
||||
Taskwarrior is distributed under the MIT license. See
|
||||
https://www.opensource.org/licenses/mit-license.php for more information.
|
||||
|
|
|
@ -147,7 +147,7 @@ Weaknesses:
|
|||
- You need to manage your own server, or gain access to a hosted server.
|
||||
|
||||
.SH "CREDITS & COPYRIGHTS"
|
||||
Copyright (C) 2006 \- 2021 P. Beckingham, F. Hernandez.
|
||||
Copyright (C) 2006 \- 2021 T. Babej, P. Beckingham, F. Hernandez.
|
||||
|
||||
Taskwarrior is distributed under the MIT license. See
|
||||
https://www.opensource.org/licenses/mit-license.php for more information.
|
||||
|
|
|
@ -55,6 +55,7 @@ More filter examples:
|
|||
task <command> <mods>
|
||||
task 28 <command> <mods>
|
||||
task +weekend <command> <mods>
|
||||
task +bills due.by:eom <command> <mods>
|
||||
task project:Home due.before:today <command> <mods>
|
||||
task ebeeab00-ccf8-464b-8b58-f7f2d606edfb <command> <mods>
|
||||
|
||||
|
@ -75,6 +76,10 @@ UUID numbers or ID ranges):
|
|||
task 1 2-5 19 modify pri:H
|
||||
task 4-7 ebeeab00-ccf8-464b-8b58-f7f2d606edfb info
|
||||
|
||||
Note that it may be necessary to properly escape special characters as well as
|
||||
quotes in order to avoid their special meanings in the shell. See also the
|
||||
section 'SPECIFYING DESCRIPTIONS' for more information.
|
||||
|
||||
.SH MODIFICATIONS
|
||||
|
||||
The <mods> consist of zero or more changes to apply to the selected tasks, such
|
||||
|
@ -93,7 +98,10 @@ write commands, miscellaneous commands and script helper commands. Read
|
|||
commands do not allow modification of tasks. Write commands can alter almost
|
||||
any aspect of a task. Script helper commands are provided to help you write
|
||||
add-on scripts, for example, shell completion (only minimal output is
|
||||
generated, as with verbose=nothing).
|
||||
generated, as with verbose=nothing). Those commands which are explicitly affected
|
||||
by the
|
||||
.I context
|
||||
are denoted as such.
|
||||
|
||||
.SH READ SUBCOMMANDS
|
||||
|
||||
|
@ -130,16 +138,16 @@ Shows all tasks matching the filter, that block other tasks.
|
|||
|
||||
.TP
|
||||
.B task <filter> burndown.daily
|
||||
Shows a graphical burndown chart, by day.
|
||||
Shows a graphical burndown chart, by day. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> burndown.weekly
|
||||
Shows a graphical burndown chart, by week. Note that 'burndown' is an alias to
|
||||
the 'burndown.weekly' report.
|
||||
the 'burndown.weekly' report. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> burndown.monthly
|
||||
Shows a graphical burndown chart, by month.
|
||||
Shows a graphical burndown chart, by month. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task calendar [due|<month> <year>|<year>] [y]
|
||||
|
@ -171,7 +179,7 @@ Shows all tasks matching the filter that are completed.
|
|||
|
||||
.TP
|
||||
.B task <filter> count
|
||||
Displays only a count of tasks matching the filter.
|
||||
Displays only a count of tasks matching the filter. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> export
|
||||
|
@ -214,20 +222,20 @@ Shows the long usage text.
|
|||
|
||||
.TP
|
||||
.B task <filter> history.annual
|
||||
Shows a report of task history by year.
|
||||
Shows a report of task history by year. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> history.monthly
|
||||
Shows a report of task history by month. Note that 'history' is
|
||||
an alias to 'history.monthly'.
|
||||
an alias to 'history.monthly'. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> history.weekly
|
||||
Shows a report of task history by week.
|
||||
Shows a report of task history by week. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> history.daily
|
||||
Shows a report of task history by day.
|
||||
Shows a report of task history by day. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> ids
|
||||
|
@ -296,7 +304,7 @@ value.
|
|||
.B task <filter> ready
|
||||
Shows a page of the most urgent ready tasks, sorted by urgency with started
|
||||
tasks first. A ready task is one that is either unscheduled, or has a scheduled
|
||||
date that is past and has no wait date.
|
||||
date that is past and is not waiting.
|
||||
|
||||
.TP
|
||||
.B task <filter> oldest
|
||||
|
@ -309,7 +317,7 @@ Shows all incomplete tasks matching the filter that are beyond their due date.
|
|||
.TP
|
||||
.B task <filter> projects
|
||||
Lists all project names that are currently used by pending tasks, and the
|
||||
number of tasks for each.
|
||||
number of tasks for each. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> recurring
|
||||
|
@ -328,7 +336,8 @@ Shows all waiting tasks matching the filter.
|
|||
|
||||
.TP
|
||||
.B task add <mods>
|
||||
Adds a new pending task to the task list.
|
||||
Adds a new pending task to the task list. It is affected by the currently set
|
||||
context.
|
||||
|
||||
.TP
|
||||
.B task <filter> annotate <mods>
|
||||
|
@ -340,28 +349,28 @@ Appends description text to an existing task.
|
|||
|
||||
.TP
|
||||
.B task <filter> delete <mods>
|
||||
Deletes the specified task from task list.
|
||||
Deletes the specified task from task list. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> denotate <mods>
|
||||
Deletes an annotation for the specified task. If the provided description
|
||||
matches an annotation exactly, the corresponding annotation is deleted. If the
|
||||
provided description matches annotations partly, the first partly matched
|
||||
annotation is deleted.
|
||||
annotation is deleted. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> done <mods>
|
||||
Marks the specified task as done.
|
||||
Marks the specified task as done. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> duplicate <mods>
|
||||
Duplicates the specified task and allows modifications.
|
||||
Duplicates the specified task and allows modifications. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> edit
|
||||
Launches a text editor to let you modify all aspects of a task directly.
|
||||
In general, this is not the recommended method of modifying tasks, but is
|
||||
provided for exceptional circumstances. Use carefully.
|
||||
provided for exceptional circumstances. Use carefully. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task import [<file> ...]
|
||||
|
@ -381,7 +390,8 @@ few example scripts, such as:
|
|||
|
||||
.TP
|
||||
.B task log <mods>
|
||||
Adds a new task that is already completed, to the task list.
|
||||
Adds a new task that is already completed, to the task list. It is affected by
|
||||
the currently set context.
|
||||
|
||||
.TP
|
||||
.B task <filter> modify <mods>
|
||||
|
@ -389,25 +399,26 @@ Modifies the existing task with provided information.
|
|||
|
||||
.TP
|
||||
.B task <filter> prepend <mods>
|
||||
Prepends description text to an existing task.
|
||||
Prepends description text to an existing task. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> purge
|
||||
Permanently removes the specified tasks from the data files. Only
|
||||
tasks that are alredy deleted can be purged. This command has a
|
||||
tasks that are already deleted can be purged. This command has a
|
||||
local-only effect and changes introduced by it are not synced.
|
||||
Is affected by the context.
|
||||
|
||||
Warning: causes permanent, non-revertible loss of data.
|
||||
|
||||
.TP
|
||||
.B task <filter> start <mods>
|
||||
Marks the specified tasks as started.
|
||||
Marks the specified tasks as started. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> stop <mods>
|
||||
Removes the
|
||||
.I start
|
||||
time from the specified task.
|
||||
time from the specified task. Is affected by the context.
|
||||
|
||||
.SH MISCELLANEOUS SUBCOMMANDS
|
||||
|
||||
|
@ -510,6 +521,12 @@ conjunction with aliases and extensions can provide seamless integration.
|
|||
.B task logo
|
||||
Displays the Taskwarrior logo.
|
||||
|
||||
.TP
|
||||
.B task news
|
||||
Guides the user through important release notes anytime a new version of
|
||||
Taskwarrior is installed. It provides personalized feedback, deprecation
|
||||
warnings and usage advice, where applicable.
|
||||
|
||||
.TP
|
||||
.B task reports
|
||||
Lists all supported reports. This includes the built-in reports, and any custom
|
||||
|
@ -523,11 +540,11 @@ displayed.
|
|||
|
||||
.TP
|
||||
.B task <filter> stats
|
||||
Shows statistics of the tasks defined by the filter.
|
||||
Shows statistics of the tasks defined by the filter. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task <filter> summary
|
||||
Shows a report of aggregated task status by project.
|
||||
Shows a report of aggregated task status by project. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task sync [init]
|
||||
|
@ -553,7 +570,7 @@ This is a workaround to avoid a recurrence bug that duplicates recurring tasks.
|
|||
Show a list of all tags used. Any special tags used are highlighted. Note that
|
||||
virtual tags are not listed - they don't really exist, and are just a convenient
|
||||
notation for other task metadata. It is an error to attempt to add or remove a
|
||||
virtual tag.
|
||||
virtual tag. Is affected by the context.
|
||||
|
||||
.TP
|
||||
.B task timesheet [<weeks>]
|
||||
|
@ -718,15 +735,16 @@ are:
|
|||
ANNOTATED Matches if the task has annotations
|
||||
BLOCKED Matches if the task is blocked
|
||||
BLOCKING Matches if the task is blocking
|
||||
CHILD Matches if the task has a parent
|
||||
CHILD Matches if the task has a parent (deprecated in 2.6.0)
|
||||
COMPLETED Matches if the task has completed status
|
||||
DELETED Matches if the task has deleted status
|
||||
DUE Matches if the task is due
|
||||
INSTANCE Matches if the task is a recurrent instance
|
||||
LATEST Matches if the task is the newest added task
|
||||
MONTH Matches if the task is due this month
|
||||
ORPHAN Matches if the task has any orphaned UDA values
|
||||
OVERDUE Matches if the task is overdue
|
||||
PARENT Matches if the task is a parent
|
||||
PARENT Matches if the task is a parent (deprecated in 2.6.0)
|
||||
PENDING Matches if the task has pending status
|
||||
PRIORITY Matches if the task has a priority
|
||||
PROJECT Matches if the task has a project
|
||||
|
@ -734,6 +752,7 @@ are:
|
|||
READY Matches if the task is actionable
|
||||
SCHEDULED Matches if the task is scheduled
|
||||
TAGGED Matches if the task has tags
|
||||
TEMPLATE Matches if the task is a recurrence template
|
||||
TODAY Matches if the task is due today
|
||||
TOMORROW Matches if the task is due sometime tomorrow
|
||||
UDA Matches if the task has any UDA values
|
||||
|
@ -783,9 +802,10 @@ to 25 lines.
|
|||
|
||||
.TP
|
||||
.B wait:<wait-date>
|
||||
When a task is given a wait date, it is hidden from most reports by changing
|
||||
its status to 'waiting'. When that date is passed, the status is changed back
|
||||
to 'pending', and the task becomes visible.
|
||||
When a task is given a wait date, it is hidden from most built-in reports, which
|
||||
exclude +WAITING. When the date is in the past, the task is not considered +WAITING,
|
||||
and again becomes visible. Note that, for compatibilty, such tasks are shown as
|
||||
having status "waiting", but this will change in a future release.
|
||||
|
||||
.TP
|
||||
.B depends:<id1,id2 ...>
|
||||
|
@ -807,6 +827,8 @@ Attribute modifiers improve filters. Supported modifiers are:
|
|||
.br
|
||||
.B after (synonyms over, above)
|
||||
.br
|
||||
.B by
|
||||
.br
|
||||
.B none
|
||||
.br
|
||||
.B any
|
||||
|
@ -854,6 +876,24 @@ modifier is the inverse of the
|
|||
.I before
|
||||
modifier.
|
||||
|
||||
The
|
||||
.I by
|
||||
modifier is the same as 'before', except it also includes the moment in
|
||||
question. For example:
|
||||
|
||||
task add test due:eoy
|
||||
|
||||
will be found when using the inclusive filter 'by':
|
||||
|
||||
task due.by:eoy
|
||||
|
||||
but not when the non-inclusive filter 'before' is used:
|
||||
|
||||
task due.before:eoy
|
||||
|
||||
this applies equally to other named dates such as 'eom', 'eod', etc; the
|
||||
modifier compares using '<=' rather than '<' like 'before' does.
|
||||
|
||||
The
|
||||
.I none
|
||||
modifier requires that the attribute does not have a value. For example:
|
||||
|
@ -1074,7 +1114,7 @@ task ... wait:later
|
|||
.br
|
||||
task ... wait:someday
|
||||
|
||||
This sets the wait date to 1/18/2038.
|
||||
This sets the wait date to 12/30/9999.
|
||||
|
||||
.TP
|
||||
Next occurring weekday
|
||||
|
@ -1143,9 +1183,31 @@ Every two years.
|
|||
.RE
|
||||
|
||||
.SH CONTEXT
|
||||
Context is a user-defined filter, which is automatically applied to all commands
|
||||
that filter the task list. In particular, any report command will have its
|
||||
result affected by the current active context.
|
||||
Context is a user-defined query, which is automatically applied to all commands
|
||||
that filter the task list and to commands that create new tasks (add, log). For
|
||||
example, any report command will have its result affected by the current
|
||||
active context. Here is a list of the commands that are affected:
|
||||
.IP
|
||||
add
|
||||
burndown
|
||||
count
|
||||
delete
|
||||
denotate
|
||||
done
|
||||
duplicate
|
||||
edit
|
||||
history
|
||||
log
|
||||
prepend
|
||||
projects
|
||||
purge
|
||||
start
|
||||
stats
|
||||
stop
|
||||
summary
|
||||
tags
|
||||
|
||||
All other commands are NOT affected by the context.
|
||||
|
||||
$ task list
|
||||
ID Age Project Description Urg
|
||||
|
@ -1160,6 +1222,21 @@ result affected by the current active context.
|
|||
2 1d Home Clean the dishes 1.14
|
||||
Context 'home' set. Use 'task context none' to remove.
|
||||
|
||||
Task list got automatically filtered for project:Home.
|
||||
|
||||
$ task add Vaccuum the carpet
|
||||
Created task 3.
|
||||
Context 'home' set. Use 'task context none' to remove.
|
||||
|
||||
$ task list
|
||||
ID Age Project Description Urg
|
||||
2 1d Home Clean the dishes 1.14
|
||||
3 5s Home Vaccuum the carpet 1.14
|
||||
Context 'home' set. Use 'task context none' to remove.
|
||||
|
||||
Note that the newly added task "Vaccuum the carpet" has "project:Home" set
|
||||
automatically.
|
||||
|
||||
As seen in the example above, context is applied by specifying its name to the
|
||||
"context" command. To change the currently applied context, just pass the
|
||||
new context's name to the 'context' command.
|
||||
|
@ -1170,37 +1247,92 @@ To unset any context, use the 'none' subcommand.
|
|||
Context unset.
|
||||
|
||||
$ task list
|
||||
ID Age Project Description Urg
|
||||
1 2d Sport Run 5 miles 1.42
|
||||
2 1d Home Clean the dishes 1.14
|
||||
ID Age Project Description Urg
|
||||
1 2d Sport Run 5 miles 1.42
|
||||
2 1d Home Clean the dishes 1.14
|
||||
3 7s Home Vaccuum the carpet 1.14
|
||||
|
||||
Context can be defined using the 'define' subcommand, specifying both the name
|
||||
of the new context, and it's assigned filter.
|
||||
|
||||
$ task context define home project:Home
|
||||
Are you sure you want to add 'context.home' with a value of 'project:Home'? (yes/no) yes
|
||||
Are you sure you want to add 'context.home.read' with a value of 'project:Home'? (yes/no) yes
|
||||
Are you sure you want to add 'context.home.write' with a value of 'project:Home'? (yes/no) yes
|
||||
Context 'home' successfully defined.
|
||||
|
||||
Note that you were separately prompted to set the 'read' and 'write' context.
|
||||
This allows you to specify contexts that only work for reporting commands or
|
||||
only for commands that create tasks.
|
||||
|
||||
To remove the definition, use the 'delete' subcommand.
|
||||
|
||||
$ task context delete home
|
||||
Are you sure you want to remove 'context.home'? (yes/no) yes
|
||||
Context 'home' successfully undefined.
|
||||
Are you sure you want to remove 'context.home.read'? (yes/no) yes
|
||||
Are you sure you want to remove 'context.home.write'? (yes/no) yes
|
||||
Context 'home' deleted.
|
||||
|
||||
To check what is the currently active context, use the 'show' subcommand.
|
||||
|
||||
$ task context show
|
||||
Context 'home' with filter 'project:Home' is currently applied.
|
||||
Context 'home' with
|
||||
|
||||
* read filter: '+home'
|
||||
* write filter: '+home'
|
||||
|
||||
is currently applied.
|
||||
|
||||
Contexts can store arbitrarily complex filters.
|
||||
|
||||
$ task context define family project:Family or +paul or +nancy
|
||||
Are you sure you want to add 'context.home' with a value of 'project:Family or +paul or +nancy'? (yes/no) yes
|
||||
Are you sure you want to add 'context.family.read' with a value of 'project:Family or +paul or +nancy'? (yes/no) yes
|
||||
Are you sure you want to add 'context.family.write' with a value of 'project:Family or +paul or +nancy'? (yes/no) no
|
||||
Context 'family' successfully defined.
|
||||
|
||||
Contexts are permanent, and the currently set context name is stored in the
|
||||
"context" configuration variable. The context definition is stored in the
|
||||
"context.<name>" configuration variable.
|
||||
"context.<name>.read" configuration variable (for reporting commands) and
|
||||
"context.<name>.write" configuration variable (for task additions, i.e. task
|
||||
add/log).
|
||||
|
||||
Note that in the example above, the user decided not to define the complex
|
||||
filter as writeable context. The reason for this decision is that the complex
|
||||
filter in the example does not directly translate to a modification. In fact,
|
||||
if such a context is used as a writeable context, the following happens:
|
||||
|
||||
$ task add Call Paul
|
||||
Created task 4.
|
||||
Context 'family' set. Use 'task context none' to remove.
|
||||
|
||||
$ task 4 list
|
||||
ID Age Project Tags Description Urg
|
||||
4 9min Family nancy paul or or Call Paul 0
|
||||
|
||||
|
||||
There is no clear mapping between the complex filter used and the modifications
|
||||
(should only the project be set? only the tags? both?). Additionally note the 'or'
|
||||
operators being present in the description. Taskwarrior does not try to guess
|
||||
the user intention here, and instead, the user is expected to set the
|
||||
"context.<name>.write" variable to make their intention explicit, for example:
|
||||
|
||||
$ task config context.family.write project:Family
|
||||
Are you sure you want to change the value of 'context.family.write' from 'project:Family or +paul or +nancy' to 'project:Family'? (yes/no) yes
|
||||
Config file /home/tbabej/.config/task/taskrc modified.
|
||||
|
||||
$ task context
|
||||
Name Type Definition Active
|
||||
family read project:Family or +paul or +nancy yes
|
||||
write project:Family yes
|
||||
home read +home no
|
||||
write +home no
|
||||
|
||||
Note how read and write contexts differ for context "family", while for context
|
||||
"home" they stay the same.
|
||||
|
||||
In addition, every configuration parameter can be overridden for the current
|
||||
context, by specifying context.<name>.rc.<parameter>. For example, if the default
|
||||
command for the family context should be displaying the family_report:
|
||||
|
||||
$ task config context.family.rc.default.command family_report
|
||||
|
||||
.SH COMMAND ABBREVIATION
|
||||
All Taskwarrior commands may be abbreviated as long as a unique prefix is used,
|
||||
|
@ -1278,12 +1410,15 @@ Taskwarrior stores its configuration in a file in the user's home directory:
|
|||
|
||||
.TP
|
||||
.B task rc:<path-to-alternate-file> ...
|
||||
Specifies an alternate configuration file.
|
||||
Specifies an alternate configuration file with highest priority.
|
||||
|
||||
.TP
|
||||
.B TASKRC=/tmp/.taskrc task ..
|
||||
The environment variable overrides the default and the command line
|
||||
specification of the .taskrc file.
|
||||
.B TASKRC=<path-to-alternate-file> task ..
|
||||
The environment variable specifies an alternate configuration file to use.
|
||||
|
||||
.TP
|
||||
.B XDG_CONFIG_HOME=<path-to-alternate-config-home> task ..
|
||||
The environment variable specifies an alternate configuration file to use.
|
||||
|
||||
.TP
|
||||
.B task rc.<name>:<value> ...
|
||||
|
@ -1292,8 +1427,8 @@ Specifies individual configuration file overrides.
|
|||
|
||||
.TP
|
||||
.B TASKDATA=/tmp/.task task ...
|
||||
The environment variable overrides the default, the command line, and
|
||||
the 'data.location' configuration setting of the task data directory.
|
||||
The environment variable overrides the default, and the 'data.location'
|
||||
configuration setting of the task data directory.
|
||||
|
||||
.SH MORE EXAMPLES
|
||||
|
||||
|
@ -1311,7 +1446,10 @@ this man page.
|
|||
.TP
|
||||
~/.taskrc
|
||||
User configuration file - see also taskrc(5). Note that this can be
|
||||
overridden on the command line or by the TASKRC environment variable.
|
||||
overridden on the command line or by the TASKRC environment variable. Also, if
|
||||
.I ~/.taskrc
|
||||
doesn't exist and XDG_CONFIG_HOME environment variable is defined, taskwarrior
|
||||
will check if $XDG_CONFIG_HOME/task/taskrc exists and attempt to read it
|
||||
|
||||
.TP
|
||||
~/.task
|
||||
|
@ -1332,7 +1470,7 @@ The file that contains the completed ("done") tasks.
|
|||
The file that contains information needed by the "undo" command.
|
||||
|
||||
.SH "CREDITS & COPYRIGHTS"
|
||||
Copyright (C) 2006 \- 2021 P. Beckingham, F. Hernandez.
|
||||
Copyright (C) 2006 \- 2021 T. Babej, P. Beckingham, F. Hernandez.
|
||||
|
||||
Taskwarrior is distributed under the MIT license. See
|
||||
https://www.opensource.org/licenses/mit-license.php for more information.
|
||||
|
|
|
@ -9,6 +9,8 @@ taskrc \- Configuration details for the task(1) command
|
|||
.B task rc:<directory-path>/.taskrc ...
|
||||
.br
|
||||
.B TASKRC=<directory-path>/.taskrc task ...
|
||||
.br
|
||||
.B XDG_CONFIG_HOME=<directory-path>/task/taskrc task ...
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B Taskwarrior
|
||||
|
@ -34,6 +36,12 @@ or using the TASKRC environment variable:
|
|||
$ TASKRC=/tmp/.taskrc task ...
|
||||
.RE
|
||||
|
||||
Additionally, if no ~/.taskrc exists, taskwarrior will check if the XDG_CONFIG_HOME environment variable is defined:
|
||||
|
||||
.RS
|
||||
$ XDG_CONFIG_HOME=~/.config task ...
|
||||
.RE
|
||||
|
||||
Individual options can be overridden by using the
|
||||
.I rc.<name>:
|
||||
attribute when running task:
|
||||
|
@ -77,8 +85,15 @@ include <file>
|
|||
|
||||
There may be whitespace around 'include' and <file>. The file may be an
|
||||
absolute or relative path, and the special character '~' is expanded to mean
|
||||
$HOME.
|
||||
The entry must be on a single line, no continuations.
|
||||
$HOME. If relative path is specified, the it will be evaluated as relative with
|
||||
respect to the following directories (listed in order of precedence):
|
||||
1. the current working directory
|
||||
2. the directory containing the taskrc file
|
||||
3. the directories set by the package manager (which usually contain
|
||||
pre-defined themes)
|
||||
|
||||
Note that environment variables are also expanded in paths (and any other
|
||||
taskrc variables).
|
||||
|
||||
.RS
|
||||
# <comment>
|
||||
|
@ -144,9 +159,9 @@ ones containing just the relevant configuration data like colors, etc.
|
|||
There are two excellent uses of includes in your .taskrc, shown here:
|
||||
|
||||
.RS
|
||||
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/holidays.en-US.rc
|
||||
include holidays.en-US.rc
|
||||
.br
|
||||
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/dark-16.theme
|
||||
include dark-16.theme
|
||||
.RE
|
||||
|
||||
This includes two standard files that are distributed with Taskwarrior, which
|
||||
|
@ -154,7 +169,7 @@ define a set of US holidays, and set up a 16-color theme to use, to color the
|
|||
reports and calendar.
|
||||
|
||||
.SH ENVIRONMENT VARIABLES
|
||||
These environment variables override defaults and command line arguments.
|
||||
These environment variables override defaults, but not command-line arguments.
|
||||
|
||||
.TP
|
||||
.B TASKDATA=~/.task
|
||||
|
@ -163,6 +178,17 @@ This overrides the default path for the Taskwarrior data files.
|
|||
.TP
|
||||
.B TASKRC=~/.taskrc
|
||||
This overrides the default RC file.
|
||||
.RE
|
||||
|
||||
This environment variable will be checked if
|
||||
.I ~/.taskrc
|
||||
doesn't exist
|
||||
|
||||
.TP
|
||||
.B XDG_CONFIG_HOME=~/.config
|
||||
If set, taskwarrior will look for a
|
||||
.I $XDG_CONFIG_HOME/task/taskrc
|
||||
file
|
||||
|
||||
.SH CONFIGURATION VARIABLES
|
||||
Valid variable names and their default values are:
|
||||
|
@ -270,29 +296,31 @@ control specific occasions when output is generated. This list may contain:
|
|||
header Messages that appear before report output (this includes .taskrc/.task overrides and the "[task next]" message)
|
||||
footnote Messages that appear after report output (mostly status messages and change descriptions)
|
||||
label Column labels on tabular reports
|
||||
new-id Provides feedback of any new task IDs
|
||||
new-uuid Provides feedback of any new task UUIDs. Deprecated, to be
|
||||
merged with new-id.
|
||||
new-id Provides feedback on any new task with IDs (and UUIDs for new tasks with ID 0, such as new completed tasks).
|
||||
new-uuid Provides feedback on any new task with UUIDs. Overrides new-id. Useful for automation.
|
||||
affected Reports 'N tasks affected' and similar
|
||||
edit Used the verbose template for the 'edit' command
|
||||
special Feedback when applying special tags
|
||||
project Feedback about project status changes
|
||||
sync Feedback about sync
|
||||
filter Shows the filter used in the command
|
||||
unwait Notification when a task leaves the 'waiting' state
|
||||
context Show the current context. Displayed in footnote.
|
||||
override Notification when configuration options are overridden
|
||||
recur Notification when a new recurring task instance is created
|
||||
default Notifications about taskwarrior choosing to perform a default action.
|
||||
|
||||
"affected", "new-id", "new-uuid", "project", "unwait", "override" and "recur"
|
||||
The tokens "affected", "new-id", "new-uuid", "project", "override" and "recur"
|
||||
imply "footnote".
|
||||
|
||||
The token "default" implies "header".
|
||||
|
||||
Note that the "1" setting is equivalent to all the tokens being specified,
|
||||
and the "nothing" setting is equivalent to none of the tokens being specified.
|
||||
|
||||
Here are the shortcut equivalents:
|
||||
|
||||
verbose=on
|
||||
verbose=blank,header,footnote,label,new-id,affected,edit,special,project,sync,filter,unwait,override
|
||||
verbose=blank,header,footnote,label,new-id,affected,edit,special,project,sync,filter,override,recur
|
||||
|
||||
verbose=0
|
||||
verbose=blank,label,new-id,edit
|
||||
|
@ -405,12 +433,6 @@ array.
|
|||
With json.array=0, export writes raw JSON objects to STDOUT, one per line.
|
||||
Defaults to "1".
|
||||
|
||||
.TP
|
||||
.B json.depends.array=1
|
||||
Determines whether the export command encodes dependencies as an array of string
|
||||
UUIDs, or one comma-separated string.
|
||||
Defaults to "1".
|
||||
|
||||
.TP
|
||||
.B _forcecolor=1
|
||||
Taskwarrior shuts off color automatically when the output is not sent directly
|
||||
|
@ -440,7 +462,7 @@ The character or string to show in the tag.indicator column. Defaults to +.
|
|||
|
||||
.TP
|
||||
.B dependency.indicator=D
|
||||
The character or string to show in the depends.indicator column. Defaults to +.
|
||||
The character or string to show in the depends.indicator column. Defaults to D.
|
||||
|
||||
.TP
|
||||
.B uda.<name>.indicator=U
|
||||
|
@ -515,7 +537,7 @@ Controls the GnuTLS diagnostic level. For 'sync' debugging. Level 0 means no
|
|||
diagnostics. Level 9 is the highest. Level 2 is a good setting for debugging.
|
||||
|
||||
.TP
|
||||
.B obfuscate=1
|
||||
.B obfuscate=0
|
||||
When set to '1', will replace all report text with 'xxx'.
|
||||
This is useful for sharing report output in bug reports.
|
||||
Default value is '0'.
|
||||
|
@ -527,6 +549,12 @@ Taskwarrior supports command aliases. This alias provides an alternate name
|
|||
any of the commands. Several commands you may use are actually aliases -
|
||||
the 'history' report, for example, or 'export'.
|
||||
|
||||
.TP
|
||||
.B burndown.cumulative=1
|
||||
May be "1" or "0", and controls the behaviour of the burndown command. When set
|
||||
to 1, it sums up all completed tasks, otherwise they only get plotted in the
|
||||
interval where the task was completed. Defaults to 1.
|
||||
|
||||
.SS DATES
|
||||
|
||||
.TP
|
||||
|
@ -662,6 +690,8 @@ field that is set. Otherwise, they are set to the corresponding values of
|
|||
.B date.iso=1
|
||||
Enables ISO-8601 date support. The default value is "1".
|
||||
|
||||
.SS CALENDAR
|
||||
|
||||
.TP
|
||||
.B weekstart=Sunday
|
||||
Determines the day a week starts. Valid values are Sunday or Monday only. The
|
||||
|
@ -703,7 +733,7 @@ The offset value to apply to the first month in the calendar report. The default
|
|||
value is "-1".
|
||||
|
||||
.TP
|
||||
.B calendar.holidays=full
|
||||
.B calendar.holidays=none
|
||||
If set to full running "task calendar" will display holidays in the calendar by
|
||||
color-coding the corresponding days. A detailed list with the dates and names
|
||||
of the holidays is also shown. If set to sparse only the days are color-coded
|
||||
|
@ -714,6 +744,12 @@ turned off by setting the variable to none. The default value is "none".
|
|||
.B calendar.legend=1
|
||||
Determines whether the calendar legend is displayed. The default value is "1".
|
||||
|
||||
.TP
|
||||
.B calendar.monthsperline=N
|
||||
Determines how many months the "task calendar" command renders across the
|
||||
screen. Defaults to however many will fit. If more months than will fit are
|
||||
specified, Taskwarrior will only show as many that will fit.
|
||||
|
||||
.SS JOURNAL ENTRIES
|
||||
|
||||
.TP
|
||||
|
@ -739,7 +775,7 @@ the 'info' command. Default value is "1".
|
|||
|
||||
.SS HOLIDAYS
|
||||
Holidays are entered either directly in the .taskrc file or via an include file
|
||||
that is specified in .taskrc. For each holiday the name and the date is
|
||||
that is specified in .taskrc. For single-day holidays the name and the date is
|
||||
required to be given:
|
||||
|
||||
.RS
|
||||
|
@ -748,10 +784,20 @@ required to be given:
|
|||
holiday.towel.name=Day of the towel
|
||||
.br
|
||||
holiday.towel.date=20100525
|
||||
.RE
|
||||
.RE
|
||||
|
||||
For holidays that span a range of days (i.e. vacation), you can use a start date
|
||||
and an end date:
|
||||
|
||||
.RS
|
||||
.RS
|
||||
.br
|
||||
holiday.sysadmin.name=System Administrator Appreciation Day
|
||||
holiday.sysadmin.name=System Administrator Appreciation Week
|
||||
.br
|
||||
holiday.sysadmin.date=20100730
|
||||
holiday.sysadmin.start=20100730
|
||||
.br
|
||||
holiday.sysadmin.end=20100805
|
||||
.RE
|
||||
.RE
|
||||
|
||||
|
@ -781,16 +827,10 @@ be included like this:
|
|||
.RS
|
||||
.RS
|
||||
.br
|
||||
include ${CMAKE_INSTALL_PREFIX}/${TASK_RCDIR}/holidays.en-US.rc
|
||||
include holidays.en-US.rc
|
||||
.RE
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.B monthsperline=3
|
||||
Determines how many months the "task calendar" command renders across the
|
||||
screen. Defaults to however many will fit. If more months than will fit are
|
||||
specified, Taskwarrior will only show as many that will fit.
|
||||
|
||||
.SS DEPENDENCIES
|
||||
|
||||
.TP
|
||||
|
@ -984,6 +1024,11 @@ Color of today with due tasks in calendar.
|
|||
Color of days with overdue tasks in calendar.
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.B color.calendar.scheduled=black on orange
|
||||
Color of days with scheduled tasks in calendar.
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.B color.calendar.weekend=bright white on black
|
||||
Color of weekend days in calendar.
|
||||
|
@ -1254,6 +1299,12 @@ The description for report X when running the "task help" command.
|
|||
This is a comma-separated list of columns and formatting specifiers. See the
|
||||
command 'task columns' for a full list of options and examples.
|
||||
|
||||
.TP
|
||||
.B report.X.context
|
||||
A boolean value representing whether the given report should respect (apply)
|
||||
the currently active context. See CONTEXT section for details about context.
|
||||
Defaults to 1.
|
||||
|
||||
.TP
|
||||
.B report.X.labels
|
||||
The labels for each column that will be used when generating report X. The
|
||||
|
@ -1449,10 +1500,27 @@ Stores the value of the currently active context.
|
|||
.RE
|
||||
|
||||
.TP
|
||||
.B context.<name>=<filter>
|
||||
.RS
|
||||
Stores the definition of the context with the name <name>.
|
||||
.B context.<name>.read=<filter>
|
||||
.RE
|
||||
.br
|
||||
.B context.<name>.write=<modifications>
|
||||
.RS
|
||||
Stores the definition of the read or write context with the name <name>. Read
|
||||
context is the default filter applied when the context is active. The write
|
||||
context are the default modifications applied to newly added tasks when the
|
||||
context is active.
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.B context.<name>.rc.<key>=<value>
|
||||
.RS
|
||||
The rc type allows to override any configuration parameter for the current
|
||||
context, e.g. if the default command for the context home should be changed to
|
||||
home_report, the following statement could be added:
|
||||
|
||||
context.home.rc.default.command=home_report
|
||||
.RE
|
||||
|
||||
|
||||
.SS SYNC
|
||||
|
||||
|
@ -1512,7 +1580,7 @@ Default is "NORMAL". See GnuTLS documentation for full details.
|
|||
.RE
|
||||
|
||||
.SH "CREDITS & COPYRIGHTS"
|
||||
Copyright (C) 2006 \- 2021 P. Beckingham, F. Hernandez.
|
||||
Copyright (C) 2006 \- 2021 T. Babej, P. Beckingham, F. Hernandez.
|
||||
|
||||
This man page was originally written by Federico Hernandez.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,7 +57,7 @@ color.uda.priority.L=
|
|||
# Tags
|
||||
color.tag.next=bold yellow
|
||||
color.tag.none=
|
||||
color.tagged=green
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due=red
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,7 +57,7 @@ color.uda.priority.M=color250
|
|||
# Tags
|
||||
color.tag.next=rgb440
|
||||
color.tag.none=
|
||||
color.tagged=rgb031
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due.today=rgb400
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,7 +57,7 @@ color.uda.priority.M=rgb025
|
|||
# Tags
|
||||
color.tag.next=rgb550
|
||||
color.tag.none=
|
||||
color.tagged=color246
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due.today=color252
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,7 +57,7 @@ color.uda.priority.M=rgb030
|
|||
# Tags
|
||||
color.tag.next=rgb440
|
||||
color.tag.none=
|
||||
color.tagged=color246
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due.today=color252
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,7 +57,7 @@ color.uda.priority.M=rgb400
|
|||
# Tags
|
||||
color.tag.next=rgb511
|
||||
color.tag.none=
|
||||
color.tagged=color246
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due.today=color252
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,7 +57,7 @@ color.uda.priority.L=rgb325
|
|||
# Tags
|
||||
color.tag.next=
|
||||
color.tag.none=
|
||||
color.tagged=rgb334
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due=rgb015
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,7 +57,7 @@ color.uda.priority.L=rgb010
|
|||
# Tags
|
||||
color.tag.next=
|
||||
color.tag.none=
|
||||
color.tagged=rgb342
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due=rgb440
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/cs-CZ/2020.json
|
||||
# https://holidata.net/cs-CZ/2021.json
|
||||
# https://holidata.net/cs-CZ/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,58 +28,58 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.cs-CZ1.name=Nový rok
|
||||
holiday.cs-CZ1.date=20200101
|
||||
holiday.cs-CZ1.date=20210101
|
||||
holiday.cs-CZ2.name=Den obnovy samostatného českého státu
|
||||
holiday.cs-CZ2.date=20200101
|
||||
holiday.cs-CZ2.date=20210101
|
||||
holiday.cs-CZ3.name=Velký pátek
|
||||
holiday.cs-CZ3.date=20200410
|
||||
holiday.cs-CZ3.date=20210402
|
||||
holiday.cs-CZ4.name=Velikonoční pondělí
|
||||
holiday.cs-CZ4.date=20200413
|
||||
holiday.cs-CZ4.date=20210405
|
||||
holiday.cs-CZ5.name=Svátek práce
|
||||
holiday.cs-CZ5.date=20200501
|
||||
holiday.cs-CZ5.date=20210501
|
||||
holiday.cs-CZ6.name=Den vítězství
|
||||
holiday.cs-CZ6.date=20200508
|
||||
holiday.cs-CZ6.date=20210508
|
||||
holiday.cs-CZ7.name=Den slovanských věrozvěstů Cyrila a Metoděje
|
||||
holiday.cs-CZ7.date=20200705
|
||||
holiday.cs-CZ7.date=20210705
|
||||
holiday.cs-CZ8.name=Den upálení mistra Jana Husa
|
||||
holiday.cs-CZ8.date=20200706
|
||||
holiday.cs-CZ8.date=20210706
|
||||
holiday.cs-CZ9.name=Den české státnosti
|
||||
holiday.cs-CZ9.date=20200928
|
||||
holiday.cs-CZ9.date=20210928
|
||||
holiday.cs-CZ10.name=Den vzniku samostatného československého státu
|
||||
holiday.cs-CZ10.date=20201028
|
||||
holiday.cs-CZ10.date=20211028
|
||||
holiday.cs-CZ11.name=Den boje za svobodu a demokracii a Mezinárodní den studentstva
|
||||
holiday.cs-CZ11.date=20201117
|
||||
holiday.cs-CZ11.date=20211117
|
||||
holiday.cs-CZ12.name=Štědrý den
|
||||
holiday.cs-CZ12.date=20201224
|
||||
holiday.cs-CZ12.date=20211224
|
||||
holiday.cs-CZ13.name=1. svátek vánoční
|
||||
holiday.cs-CZ13.date=20201225
|
||||
holiday.cs-CZ13.date=20211225
|
||||
holiday.cs-CZ14.name=2. svátek vánoční
|
||||
holiday.cs-CZ14.date=20201226
|
||||
holiday.cs-CZ14.date=20211226
|
||||
holiday.cs-CZ15.name=Nový rok
|
||||
holiday.cs-CZ15.date=20210101
|
||||
holiday.cs-CZ15.date=20220101
|
||||
holiday.cs-CZ16.name=Den obnovy samostatného českého státu
|
||||
holiday.cs-CZ16.date=20210101
|
||||
holiday.cs-CZ16.date=20220101
|
||||
holiday.cs-CZ17.name=Velký pátek
|
||||
holiday.cs-CZ17.date=20210402
|
||||
holiday.cs-CZ17.date=20220415
|
||||
holiday.cs-CZ18.name=Velikonoční pondělí
|
||||
holiday.cs-CZ18.date=20210405
|
||||
holiday.cs-CZ18.date=20220418
|
||||
holiday.cs-CZ19.name=Svátek práce
|
||||
holiday.cs-CZ19.date=20210501
|
||||
holiday.cs-CZ19.date=20220501
|
||||
holiday.cs-CZ20.name=Den vítězství
|
||||
holiday.cs-CZ20.date=20210508
|
||||
holiday.cs-CZ20.date=20220508
|
||||
holiday.cs-CZ21.name=Den slovanských věrozvěstů Cyrila a Metoděje
|
||||
holiday.cs-CZ21.date=20210705
|
||||
holiday.cs-CZ21.date=20220705
|
||||
holiday.cs-CZ22.name=Den upálení mistra Jana Husa
|
||||
holiday.cs-CZ22.date=20210706
|
||||
holiday.cs-CZ22.date=20220706
|
||||
holiday.cs-CZ23.name=Den české státnosti
|
||||
holiday.cs-CZ23.date=20210928
|
||||
holiday.cs-CZ23.date=20220928
|
||||
holiday.cs-CZ24.name=Den vzniku samostatného československého státu
|
||||
holiday.cs-CZ24.date=20211028
|
||||
holiday.cs-CZ24.date=20221028
|
||||
holiday.cs-CZ25.name=Den boje za svobodu a demokracii a Mezinárodní den studentstva
|
||||
holiday.cs-CZ25.date=20211117
|
||||
holiday.cs-CZ25.date=20221117
|
||||
holiday.cs-CZ26.name=Štědrý den
|
||||
holiday.cs-CZ26.date=20211224
|
||||
holiday.cs-CZ26.date=20221224
|
||||
holiday.cs-CZ27.name=1. svátek vánoční
|
||||
holiday.cs-CZ27.date=20211225
|
||||
holiday.cs-CZ27.date=20221225
|
||||
holiday.cs-CZ28.name=2. svátek vánoční
|
||||
holiday.cs-CZ28.date=20211226
|
||||
holiday.cs-CZ28.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/da-DK/2020.json
|
||||
# https://holidata.net/da-DK/2021.json
|
||||
# https://holidata.net/da-DK/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.da-DK1.name=Nytårsdag
|
||||
holiday.da-DK1.date=20200101
|
||||
holiday.da-DK1.date=20210101
|
||||
holiday.da-DK2.name=Skærtorsdag
|
||||
holiday.da-DK2.date=20200409
|
||||
holiday.da-DK2.date=20210401
|
||||
holiday.da-DK3.name=Langfredag
|
||||
holiday.da-DK3.date=20200410
|
||||
holiday.da-DK3.date=20210402
|
||||
holiday.da-DK4.name=Påskedag
|
||||
holiday.da-DK4.date=20200412
|
||||
holiday.da-DK4.date=20210404
|
||||
holiday.da-DK5.name=Anden påskedag
|
||||
holiday.da-DK5.date=20200413
|
||||
holiday.da-DK5.date=20210405
|
||||
holiday.da-DK6.name=Store bededag
|
||||
holiday.da-DK6.date=20200508
|
||||
holiday.da-DK6.date=20210430
|
||||
holiday.da-DK7.name=Kristi himmelfartsdag
|
||||
holiday.da-DK7.date=20200521
|
||||
holiday.da-DK7.date=20210513
|
||||
holiday.da-DK8.name=Pinsedag
|
||||
holiday.da-DK8.date=20200531
|
||||
holiday.da-DK8.date=20210523
|
||||
holiday.da-DK9.name=Anden pinsedag
|
||||
holiday.da-DK9.date=20200601
|
||||
holiday.da-DK9.date=20210524
|
||||
holiday.da-DK10.name=Grundlovsdag
|
||||
holiday.da-DK10.date=20200605
|
||||
holiday.da-DK10.date=20210605
|
||||
holiday.da-DK11.name=Juledag
|
||||
holiday.da-DK11.date=20201225
|
||||
holiday.da-DK11.date=20211225
|
||||
holiday.da-DK12.name=Anden juledag
|
||||
holiday.da-DK12.date=20201226
|
||||
holiday.da-DK12.date=20211226
|
||||
holiday.da-DK13.name=Nytårsdag
|
||||
holiday.da-DK13.date=20210101
|
||||
holiday.da-DK13.date=20220101
|
||||
holiday.da-DK14.name=Skærtorsdag
|
||||
holiday.da-DK14.date=20210401
|
||||
holiday.da-DK14.date=20220414
|
||||
holiday.da-DK15.name=Langfredag
|
||||
holiday.da-DK15.date=20210402
|
||||
holiday.da-DK15.date=20220415
|
||||
holiday.da-DK16.name=Påskedag
|
||||
holiday.da-DK16.date=20210404
|
||||
holiday.da-DK16.date=20220417
|
||||
holiday.da-DK17.name=Anden påskedag
|
||||
holiday.da-DK17.date=20210405
|
||||
holiday.da-DK17.date=20220418
|
||||
holiday.da-DK18.name=Store bededag
|
||||
holiday.da-DK18.date=20210430
|
||||
holiday.da-DK18.date=20220513
|
||||
holiday.da-DK19.name=Kristi himmelfartsdag
|
||||
holiday.da-DK19.date=20210513
|
||||
holiday.da-DK20.name=Pinsedag
|
||||
holiday.da-DK20.date=20210523
|
||||
holiday.da-DK21.name=Anden pinsedag
|
||||
holiday.da-DK21.date=20210524
|
||||
holiday.da-DK22.name=Grundlovsdag
|
||||
holiday.da-DK22.date=20210605
|
||||
holiday.da-DK19.date=20220526
|
||||
holiday.da-DK20.name=Grundlovsdag
|
||||
holiday.da-DK20.date=20220605
|
||||
holiday.da-DK21.name=Pinsedag
|
||||
holiday.da-DK21.date=20220605
|
||||
holiday.da-DK22.name=Anden pinsedag
|
||||
holiday.da-DK22.date=20220606
|
||||
holiday.da-DK23.name=Juledag
|
||||
holiday.da-DK23.date=20211225
|
||||
holiday.da-DK23.date=20221225
|
||||
holiday.da-DK24.name=Anden juledag
|
||||
holiday.da-DK24.date=20211226
|
||||
holiday.da-DK24.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/de-AT/2020.json
|
||||
# https://holidata.net/de-AT/2021.json
|
||||
# https://holidata.net/de-AT/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,98 +28,98 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.de-AT1.name=Neujahr
|
||||
holiday.de-AT1.date=20200101
|
||||
holiday.de-AT1.date=20210101
|
||||
holiday.de-AT2.name=Heilige drei Könige
|
||||
holiday.de-AT2.date=20200106
|
||||
holiday.de-AT2.date=20210106
|
||||
holiday.de-AT3.name=Josef
|
||||
holiday.de-AT3.date=20200319
|
||||
holiday.de-AT3.date=20210319
|
||||
holiday.de-AT4.name=Karfreitag
|
||||
holiday.de-AT4.date=20200410
|
||||
holiday.de-AT4.date=20210402
|
||||
holiday.de-AT5.name=Ostersonntag
|
||||
holiday.de-AT5.date=20200412
|
||||
holiday.de-AT5.date=20210404
|
||||
holiday.de-AT6.name=Ostermontag
|
||||
holiday.de-AT6.date=20200413
|
||||
holiday.de-AT6.date=20210405
|
||||
holiday.de-AT7.name=Staatsfeiertag
|
||||
holiday.de-AT7.date=20200501
|
||||
holiday.de-AT7.date=20210501
|
||||
holiday.de-AT8.name=Florian
|
||||
holiday.de-AT8.date=20200504
|
||||
holiday.de-AT8.date=20210504
|
||||
holiday.de-AT9.name=Christi Himmelfahrt
|
||||
holiday.de-AT9.date=20200521
|
||||
holiday.de-AT9.date=20210513
|
||||
holiday.de-AT10.name=Pfingstsonntag
|
||||
holiday.de-AT10.date=20200531
|
||||
holiday.de-AT10.date=20210523
|
||||
holiday.de-AT11.name=Pfingstmontag
|
||||
holiday.de-AT11.date=20200601
|
||||
holiday.de-AT11.date=20210524
|
||||
holiday.de-AT12.name=Fronleichnam
|
||||
holiday.de-AT12.date=20200611
|
||||
holiday.de-AT12.date=20210603
|
||||
holiday.de-AT13.name=Mariä Himmelfahrt
|
||||
holiday.de-AT13.date=20200815
|
||||
holiday.de-AT13.date=20210815
|
||||
holiday.de-AT14.name=Rupert
|
||||
holiday.de-AT14.date=20200924
|
||||
holiday.de-AT14.date=20210924
|
||||
holiday.de-AT15.name=Tag der Volksabstimmung
|
||||
holiday.de-AT15.date=20201010
|
||||
holiday.de-AT15.date=20211010
|
||||
holiday.de-AT16.name=Nationalfeiertag
|
||||
holiday.de-AT16.date=20201026
|
||||
holiday.de-AT16.date=20211026
|
||||
holiday.de-AT17.name=Allerheiligen
|
||||
holiday.de-AT17.date=20201101
|
||||
holiday.de-AT17.date=20211101
|
||||
holiday.de-AT18.name=Martin
|
||||
holiday.de-AT18.date=20201111
|
||||
holiday.de-AT18.date=20211111
|
||||
holiday.de-AT19.name=Leopold
|
||||
holiday.de-AT19.date=20201115
|
||||
holiday.de-AT19.date=20211115
|
||||
holiday.de-AT20.name=Mariä Empfängnis
|
||||
holiday.de-AT20.date=20201208
|
||||
holiday.de-AT20.date=20211208
|
||||
holiday.de-AT21.name=Heiliger Abend
|
||||
holiday.de-AT21.date=20201224
|
||||
holiday.de-AT21.date=20211224
|
||||
holiday.de-AT22.name=Christtag
|
||||
holiday.de-AT22.date=20201225
|
||||
holiday.de-AT22.date=20211225
|
||||
holiday.de-AT23.name=Stefanitag
|
||||
holiday.de-AT23.date=20201226
|
||||
holiday.de-AT23.date=20211226
|
||||
holiday.de-AT24.name=Silvester
|
||||
holiday.de-AT24.date=20201231
|
||||
holiday.de-AT24.date=20211231
|
||||
holiday.de-AT25.name=Neujahr
|
||||
holiday.de-AT25.date=20210101
|
||||
holiday.de-AT25.date=20220101
|
||||
holiday.de-AT26.name=Heilige drei Könige
|
||||
holiday.de-AT26.date=20210106
|
||||
holiday.de-AT26.date=20220106
|
||||
holiday.de-AT27.name=Josef
|
||||
holiday.de-AT27.date=20210319
|
||||
holiday.de-AT27.date=20220319
|
||||
holiday.de-AT28.name=Karfreitag
|
||||
holiday.de-AT28.date=20210402
|
||||
holiday.de-AT28.date=20220415
|
||||
holiday.de-AT29.name=Ostersonntag
|
||||
holiday.de-AT29.date=20210404
|
||||
holiday.de-AT29.date=20220417
|
||||
holiday.de-AT30.name=Ostermontag
|
||||
holiday.de-AT30.date=20210405
|
||||
holiday.de-AT30.date=20220418
|
||||
holiday.de-AT31.name=Staatsfeiertag
|
||||
holiday.de-AT31.date=20210501
|
||||
holiday.de-AT31.date=20220501
|
||||
holiday.de-AT32.name=Florian
|
||||
holiday.de-AT32.date=20210504
|
||||
holiday.de-AT32.date=20220504
|
||||
holiday.de-AT33.name=Christi Himmelfahrt
|
||||
holiday.de-AT33.date=20210513
|
||||
holiday.de-AT33.date=20220526
|
||||
holiday.de-AT34.name=Pfingstsonntag
|
||||
holiday.de-AT34.date=20210523
|
||||
holiday.de-AT34.date=20220605
|
||||
holiday.de-AT35.name=Pfingstmontag
|
||||
holiday.de-AT35.date=20210524
|
||||
holiday.de-AT35.date=20220606
|
||||
holiday.de-AT36.name=Fronleichnam
|
||||
holiday.de-AT36.date=20210603
|
||||
holiday.de-AT36.date=20220616
|
||||
holiday.de-AT37.name=Mariä Himmelfahrt
|
||||
holiday.de-AT37.date=20210815
|
||||
holiday.de-AT37.date=20220815
|
||||
holiday.de-AT38.name=Rupert
|
||||
holiday.de-AT38.date=20210924
|
||||
holiday.de-AT38.date=20220924
|
||||
holiday.de-AT39.name=Tag der Volksabstimmung
|
||||
holiday.de-AT39.date=20211010
|
||||
holiday.de-AT39.date=20221010
|
||||
holiday.de-AT40.name=Nationalfeiertag
|
||||
holiday.de-AT40.date=20211026
|
||||
holiday.de-AT40.date=20221026
|
||||
holiday.de-AT41.name=Allerheiligen
|
||||
holiday.de-AT41.date=20211101
|
||||
holiday.de-AT41.date=20221101
|
||||
holiday.de-AT42.name=Martin
|
||||
holiday.de-AT42.date=20211111
|
||||
holiday.de-AT42.date=20221111
|
||||
holiday.de-AT43.name=Leopold
|
||||
holiday.de-AT43.date=20211115
|
||||
holiday.de-AT43.date=20221115
|
||||
holiday.de-AT44.name=Mariä Empfängnis
|
||||
holiday.de-AT44.date=20211208
|
||||
holiday.de-AT44.date=20221208
|
||||
holiday.de-AT45.name=Heiliger Abend
|
||||
holiday.de-AT45.date=20211224
|
||||
holiday.de-AT45.date=20221224
|
||||
holiday.de-AT46.name=Christtag
|
||||
holiday.de-AT46.date=20211225
|
||||
holiday.de-AT46.date=20221225
|
||||
holiday.de-AT47.name=Stefanitag
|
||||
holiday.de-AT47.date=20211226
|
||||
holiday.de-AT47.date=20221226
|
||||
holiday.de-AT48.name=Silvester
|
||||
holiday.de-AT48.date=20211231
|
||||
holiday.de-AT48.date=20221231
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/de-BE/2020.json
|
||||
# https://holidata.net/de-BE/2021.json
|
||||
# https://holidata.net/de-BE/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.de-BE1.name=Neujahr
|
||||
holiday.de-BE1.date=20200101
|
||||
holiday.de-BE1.date=20210101
|
||||
holiday.de-BE2.name=Ostern
|
||||
holiday.de-BE2.date=20200412
|
||||
holiday.de-BE2.date=20210404
|
||||
holiday.de-BE3.name=Ostermontag
|
||||
holiday.de-BE3.date=20200413
|
||||
holiday.de-BE3.date=20210405
|
||||
holiday.de-BE4.name=Tag der Arbeit
|
||||
holiday.de-BE4.date=20200501
|
||||
holiday.de-BE4.date=20210501
|
||||
holiday.de-BE5.name=Christi Himmelfahrt
|
||||
holiday.de-BE5.date=20200521
|
||||
holiday.de-BE5.date=20210513
|
||||
holiday.de-BE6.name=Pfingsten
|
||||
holiday.de-BE6.date=20200531
|
||||
holiday.de-BE6.date=20210523
|
||||
holiday.de-BE7.name=Pfingstmontag
|
||||
holiday.de-BE7.date=20200601
|
||||
holiday.de-BE7.date=20210524
|
||||
holiday.de-BE8.name=Nationalfeiertag
|
||||
holiday.de-BE8.date=20200721
|
||||
holiday.de-BE8.date=20210721
|
||||
holiday.de-BE9.name=Mariä Himmelfahrt
|
||||
holiday.de-BE9.date=20200815
|
||||
holiday.de-BE9.date=20210815
|
||||
holiday.de-BE10.name=Allerheiligen
|
||||
holiday.de-BE10.date=20201101
|
||||
holiday.de-BE10.date=20211101
|
||||
holiday.de-BE11.name=Waffenstillstand
|
||||
holiday.de-BE11.date=20201111
|
||||
holiday.de-BE11.date=20211111
|
||||
holiday.de-BE12.name=Weihnacht
|
||||
holiday.de-BE12.date=20201225
|
||||
holiday.de-BE12.date=20211225
|
||||
holiday.de-BE13.name=Neujahr
|
||||
holiday.de-BE13.date=20210101
|
||||
holiday.de-BE13.date=20220101
|
||||
holiday.de-BE14.name=Ostern
|
||||
holiday.de-BE14.date=20210404
|
||||
holiday.de-BE14.date=20220417
|
||||
holiday.de-BE15.name=Ostermontag
|
||||
holiday.de-BE15.date=20210405
|
||||
holiday.de-BE15.date=20220418
|
||||
holiday.de-BE16.name=Tag der Arbeit
|
||||
holiday.de-BE16.date=20210501
|
||||
holiday.de-BE16.date=20220501
|
||||
holiday.de-BE17.name=Christi Himmelfahrt
|
||||
holiday.de-BE17.date=20210513
|
||||
holiday.de-BE17.date=20220526
|
||||
holiday.de-BE18.name=Pfingsten
|
||||
holiday.de-BE18.date=20210523
|
||||
holiday.de-BE18.date=20220605
|
||||
holiday.de-BE19.name=Pfingstmontag
|
||||
holiday.de-BE19.date=20210524
|
||||
holiday.de-BE19.date=20220606
|
||||
holiday.de-BE20.name=Nationalfeiertag
|
||||
holiday.de-BE20.date=20210721
|
||||
holiday.de-BE20.date=20220721
|
||||
holiday.de-BE21.name=Mariä Himmelfahrt
|
||||
holiday.de-BE21.date=20210815
|
||||
holiday.de-BE21.date=20220815
|
||||
holiday.de-BE22.name=Allerheiligen
|
||||
holiday.de-BE22.date=20211101
|
||||
holiday.de-BE22.date=20221101
|
||||
holiday.de-BE23.name=Waffenstillstand
|
||||
holiday.de-BE23.date=20211111
|
||||
holiday.de-BE23.date=20221111
|
||||
holiday.de-BE24.name=Weihnacht
|
||||
holiday.de-BE24.date=20211225
|
||||
holiday.de-BE24.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/de-CH/2020.json
|
||||
# https://holidata.net/de-CH/2021.json
|
||||
# https://holidata.net/de-CH/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,74 +28,74 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.de-CH1.name=Neujahrstag
|
||||
holiday.de-CH1.date=20200101
|
||||
holiday.de-CH1.date=20210101
|
||||
holiday.de-CH2.name=Berchtoldstag
|
||||
holiday.de-CH2.date=20200102
|
||||
holiday.de-CH2.date=20210102
|
||||
holiday.de-CH3.name=Heilige Drei Könige
|
||||
holiday.de-CH3.date=20200106
|
||||
holiday.de-CH3.date=20210106
|
||||
holiday.de-CH4.name=Josefstag
|
||||
holiday.de-CH4.date=20200319
|
||||
holiday.de-CH4.date=20210319
|
||||
holiday.de-CH5.name=Karfreitag
|
||||
holiday.de-CH5.date=20200410
|
||||
holiday.de-CH5.date=20210402
|
||||
holiday.de-CH6.name=Ostersonntag
|
||||
holiday.de-CH6.date=20200412
|
||||
holiday.de-CH6.date=20210404
|
||||
holiday.de-CH7.name=Ostermontag
|
||||
holiday.de-CH7.date=20200413
|
||||
holiday.de-CH7.date=20210405
|
||||
holiday.de-CH8.name=Tag der Arbeit
|
||||
holiday.de-CH8.date=20200501
|
||||
holiday.de-CH8.date=20210501
|
||||
holiday.de-CH9.name=Auffahrt
|
||||
holiday.de-CH9.date=20200521
|
||||
holiday.de-CH9.date=20210513
|
||||
holiday.de-CH10.name=Pfingstsonntag
|
||||
holiday.de-CH10.date=20200531
|
||||
holiday.de-CH10.date=20210523
|
||||
holiday.de-CH11.name=Pfingstmontag
|
||||
holiday.de-CH11.date=20200601
|
||||
holiday.de-CH11.date=20210524
|
||||
holiday.de-CH12.name=Fronleichnam
|
||||
holiday.de-CH12.date=20200611
|
||||
holiday.de-CH12.date=20210603
|
||||
holiday.de-CH13.name=Bundesfeier
|
||||
holiday.de-CH13.date=20200801
|
||||
holiday.de-CH13.date=20210801
|
||||
holiday.de-CH14.name=Mariä Himmelfahrt
|
||||
holiday.de-CH14.date=20200815
|
||||
holiday.de-CH14.date=20210815
|
||||
holiday.de-CH15.name=Allerheiligen
|
||||
holiday.de-CH15.date=20201101
|
||||
holiday.de-CH15.date=20211101
|
||||
holiday.de-CH16.name=Mariä Empfängnis
|
||||
holiday.de-CH16.date=20201208
|
||||
holiday.de-CH16.date=20211208
|
||||
holiday.de-CH17.name=Weihnachtstag
|
||||
holiday.de-CH17.date=20201225
|
||||
holiday.de-CH17.date=20211225
|
||||
holiday.de-CH18.name=Stephanstag
|
||||
holiday.de-CH18.date=20201226
|
||||
holiday.de-CH18.date=20211226
|
||||
holiday.de-CH19.name=Neujahrstag
|
||||
holiday.de-CH19.date=20210101
|
||||
holiday.de-CH19.date=20220101
|
||||
holiday.de-CH20.name=Berchtoldstag
|
||||
holiday.de-CH20.date=20210102
|
||||
holiday.de-CH20.date=20220102
|
||||
holiday.de-CH21.name=Heilige Drei Könige
|
||||
holiday.de-CH21.date=20210106
|
||||
holiday.de-CH21.date=20220106
|
||||
holiday.de-CH22.name=Josefstag
|
||||
holiday.de-CH22.date=20210319
|
||||
holiday.de-CH22.date=20220319
|
||||
holiday.de-CH23.name=Karfreitag
|
||||
holiday.de-CH23.date=20210402
|
||||
holiday.de-CH23.date=20220415
|
||||
holiday.de-CH24.name=Ostersonntag
|
||||
holiday.de-CH24.date=20210404
|
||||
holiday.de-CH24.date=20220417
|
||||
holiday.de-CH25.name=Ostermontag
|
||||
holiday.de-CH25.date=20210405
|
||||
holiday.de-CH25.date=20220418
|
||||
holiday.de-CH26.name=Tag der Arbeit
|
||||
holiday.de-CH26.date=20210501
|
||||
holiday.de-CH26.date=20220501
|
||||
holiday.de-CH27.name=Auffahrt
|
||||
holiday.de-CH27.date=20210513
|
||||
holiday.de-CH27.date=20220526
|
||||
holiday.de-CH28.name=Pfingstsonntag
|
||||
holiday.de-CH28.date=20210523
|
||||
holiday.de-CH28.date=20220605
|
||||
holiday.de-CH29.name=Pfingstmontag
|
||||
holiday.de-CH29.date=20210524
|
||||
holiday.de-CH29.date=20220606
|
||||
holiday.de-CH30.name=Fronleichnam
|
||||
holiday.de-CH30.date=20210603
|
||||
holiday.de-CH30.date=20220616
|
||||
holiday.de-CH31.name=Bundesfeier
|
||||
holiday.de-CH31.date=20210801
|
||||
holiday.de-CH31.date=20220801
|
||||
holiday.de-CH32.name=Mariä Himmelfahrt
|
||||
holiday.de-CH32.date=20210815
|
||||
holiday.de-CH32.date=20220815
|
||||
holiday.de-CH33.name=Allerheiligen
|
||||
holiday.de-CH33.date=20211101
|
||||
holiday.de-CH33.date=20221101
|
||||
holiday.de-CH34.name=Mariä Empfängnis
|
||||
holiday.de-CH34.date=20211208
|
||||
holiday.de-CH34.date=20221208
|
||||
holiday.de-CH35.name=Weihnachtstag
|
||||
holiday.de-CH35.date=20211225
|
||||
holiday.de-CH35.date=20221225
|
||||
holiday.de-CH36.name=Stephanstag
|
||||
holiday.de-CH36.date=20211226
|
||||
holiday.de-CH36.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/de-DE/2020.json
|
||||
# https://holidata.net/de-DE/2021.json
|
||||
# https://holidata.net/de-DE/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,84 +28,82 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.de-DE1.name=Neujahr
|
||||
holiday.de-DE1.date=20200101
|
||||
holiday.de-DE1.date=20210101
|
||||
holiday.de-DE2.name=Heilige drei Könige
|
||||
holiday.de-DE2.date=20200106
|
||||
holiday.de-DE2.date=20210106
|
||||
holiday.de-DE3.name=Internationaler Frauentag
|
||||
holiday.de-DE3.date=20200308
|
||||
holiday.de-DE3.date=20210308
|
||||
holiday.de-DE4.name=Karfreitag
|
||||
holiday.de-DE4.date=20200410
|
||||
holiday.de-DE4.date=20210402
|
||||
holiday.de-DE5.name=Ostern
|
||||
holiday.de-DE5.date=20200412
|
||||
holiday.de-DE5.date=20210404
|
||||
holiday.de-DE6.name=Ostermontag
|
||||
holiday.de-DE6.date=20200413
|
||||
holiday.de-DE6.date=20210405
|
||||
holiday.de-DE7.name=Erster Maifeiertag
|
||||
holiday.de-DE7.date=20200501
|
||||
holiday.de-DE8.name=75. Jahrestag der Befreiung vom Nationalsozialismus und der Beendigung des Zweiten Weltkrieges in Europa
|
||||
holiday.de-DE8.date=20200508
|
||||
holiday.de-DE9.name=Christi Himmelfahrt
|
||||
holiday.de-DE9.date=20200521
|
||||
holiday.de-DE10.name=Pfingstsonntag
|
||||
holiday.de-DE10.date=20200531
|
||||
holiday.de-DE11.name=Pfingstmontag
|
||||
holiday.de-DE11.date=20200601
|
||||
holiday.de-DE12.name=Fronleichnam
|
||||
holiday.de-DE12.date=20200611
|
||||
holiday.de-DE13.name=Mariä Himmelfahrt
|
||||
holiday.de-DE13.date=20200815
|
||||
holiday.de-DE14.name=Tag der Deutschen Einheit
|
||||
holiday.de-DE14.date=20201003
|
||||
holiday.de-DE15.name=Reformationstag
|
||||
holiday.de-DE15.date=20201031
|
||||
holiday.de-DE16.name=Allerheiligen
|
||||
holiday.de-DE16.date=20201101
|
||||
holiday.de-DE17.name=Buß- und Bettag
|
||||
holiday.de-DE17.date=20201118
|
||||
holiday.de-DE18.name=Heilig Abend
|
||||
holiday.de-DE18.date=20201224
|
||||
holiday.de-DE19.name=Weihnachtstag
|
||||
holiday.de-DE19.date=20201225
|
||||
holiday.de-DE20.name=Zweiter Weihnachtstag
|
||||
holiday.de-DE20.date=20201226
|
||||
holiday.de-DE21.name=Silvester
|
||||
holiday.de-DE21.date=20201231
|
||||
holiday.de-DE22.name=Neujahr
|
||||
holiday.de-DE22.date=20210101
|
||||
holiday.de-DE23.name=Heilige drei Könige
|
||||
holiday.de-DE23.date=20210106
|
||||
holiday.de-DE24.name=Internationaler Frauentag
|
||||
holiday.de-DE24.date=20210308
|
||||
holiday.de-DE25.name=Karfreitag
|
||||
holiday.de-DE25.date=20210402
|
||||
holiday.de-DE26.name=Ostern
|
||||
holiday.de-DE26.date=20210404
|
||||
holiday.de-DE27.name=Ostermontag
|
||||
holiday.de-DE27.date=20210405
|
||||
holiday.de-DE28.name=Erster Maifeiertag
|
||||
holiday.de-DE28.date=20210501
|
||||
holiday.de-DE29.name=Christi Himmelfahrt
|
||||
holiday.de-DE29.date=20210513
|
||||
holiday.de-DE30.name=Pfingstsonntag
|
||||
holiday.de-DE30.date=20210523
|
||||
holiday.de-DE31.name=Pfingstmontag
|
||||
holiday.de-DE31.date=20210524
|
||||
holiday.de-DE32.name=Fronleichnam
|
||||
holiday.de-DE32.date=20210603
|
||||
holiday.de-DE33.name=Mariä Himmelfahrt
|
||||
holiday.de-DE33.date=20210815
|
||||
holiday.de-DE34.name=Tag der Deutschen Einheit
|
||||
holiday.de-DE34.date=20211003
|
||||
holiday.de-DE35.name=Reformationstag
|
||||
holiday.de-DE35.date=20211031
|
||||
holiday.de-DE36.name=Allerheiligen
|
||||
holiday.de-DE36.date=20211101
|
||||
holiday.de-DE37.name=Buß- und Bettag
|
||||
holiday.de-DE37.date=20211117
|
||||
holiday.de-DE38.name=Heilig Abend
|
||||
holiday.de-DE38.date=20211224
|
||||
holiday.de-DE39.name=Weihnachtstag
|
||||
holiday.de-DE39.date=20211225
|
||||
holiday.de-DE40.name=Zweiter Weihnachtstag
|
||||
holiday.de-DE40.date=20211226
|
||||
holiday.de-DE41.name=Silvester
|
||||
holiday.de-DE41.date=20211231
|
||||
holiday.de-DE7.date=20210501
|
||||
holiday.de-DE8.name=Christi Himmelfahrt
|
||||
holiday.de-DE8.date=20210513
|
||||
holiday.de-DE9.name=Pfingstsonntag
|
||||
holiday.de-DE9.date=20210523
|
||||
holiday.de-DE10.name=Pfingstmontag
|
||||
holiday.de-DE10.date=20210524
|
||||
holiday.de-DE11.name=Fronleichnam
|
||||
holiday.de-DE11.date=20210603
|
||||
holiday.de-DE12.name=Mariä Himmelfahrt
|
||||
holiday.de-DE12.date=20210815
|
||||
holiday.de-DE13.name=Tag der Deutschen Einheit
|
||||
holiday.de-DE13.date=20211003
|
||||
holiday.de-DE14.name=Reformationstag
|
||||
holiday.de-DE14.date=20211031
|
||||
holiday.de-DE15.name=Allerheiligen
|
||||
holiday.de-DE15.date=20211101
|
||||
holiday.de-DE16.name=Buß- und Bettag
|
||||
holiday.de-DE16.date=20211117
|
||||
holiday.de-DE17.name=Heilig Abend
|
||||
holiday.de-DE17.date=20211224
|
||||
holiday.de-DE18.name=Weihnachtstag
|
||||
holiday.de-DE18.date=20211225
|
||||
holiday.de-DE19.name=Zweiter Weihnachtstag
|
||||
holiday.de-DE19.date=20211226
|
||||
holiday.de-DE20.name=Silvester
|
||||
holiday.de-DE20.date=20211231
|
||||
holiday.de-DE21.name=Neujahr
|
||||
holiday.de-DE21.date=20220101
|
||||
holiday.de-DE22.name=Heilige drei Könige
|
||||
holiday.de-DE22.date=20220106
|
||||
holiday.de-DE23.name=Internationaler Frauentag
|
||||
holiday.de-DE23.date=20220308
|
||||
holiday.de-DE24.name=Karfreitag
|
||||
holiday.de-DE24.date=20220415
|
||||
holiday.de-DE25.name=Ostern
|
||||
holiday.de-DE25.date=20220417
|
||||
holiday.de-DE26.name=Ostermontag
|
||||
holiday.de-DE26.date=20220418
|
||||
holiday.de-DE27.name=Erster Maifeiertag
|
||||
holiday.de-DE27.date=20220501
|
||||
holiday.de-DE28.name=Christi Himmelfahrt
|
||||
holiday.de-DE28.date=20220526
|
||||
holiday.de-DE29.name=Pfingstsonntag
|
||||
holiday.de-DE29.date=20220605
|
||||
holiday.de-DE30.name=Pfingstmontag
|
||||
holiday.de-DE30.date=20220606
|
||||
holiday.de-DE31.name=Fronleichnam
|
||||
holiday.de-DE31.date=20220616
|
||||
holiday.de-DE32.name=Mariä Himmelfahrt
|
||||
holiday.de-DE32.date=20220815
|
||||
holiday.de-DE33.name=Tag der Deutschen Einheit
|
||||
holiday.de-DE33.date=20221003
|
||||
holiday.de-DE34.name=Reformationstag
|
||||
holiday.de-DE34.date=20221031
|
||||
holiday.de-DE35.name=Allerheiligen
|
||||
holiday.de-DE35.date=20221101
|
||||
holiday.de-DE36.name=Buß- und Bettag
|
||||
holiday.de-DE36.date=20221116
|
||||
holiday.de-DE37.name=Heilig Abend
|
||||
holiday.de-DE37.date=20221224
|
||||
holiday.de-DE38.name=Weihnachtstag
|
||||
holiday.de-DE38.date=20221225
|
||||
holiday.de-DE39.name=Zweiter Weihnachtstag
|
||||
holiday.de-DE39.date=20221226
|
||||
holiday.de-DE40.name=Silvester
|
||||
holiday.de-DE40.date=20221231
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/el-GR/2020.json
|
||||
# https://holidata.net/el-GR/2021.json
|
||||
# https://holidata.net/el-GR/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,58 +28,58 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.el-GR1.name=Πρωτοχρονιά
|
||||
holiday.el-GR1.date=20200101
|
||||
holiday.el-GR1.date=20210101
|
||||
holiday.el-GR2.name=Θεοφάνεια
|
||||
holiday.el-GR2.date=20200106
|
||||
holiday.el-GR2.date=20210106
|
||||
holiday.el-GR3.name=Καθαρά Δευτέρα
|
||||
holiday.el-GR3.date=20200302
|
||||
holiday.el-GR3.date=20210315
|
||||
holiday.el-GR4.name=Ευαγγελισμός της Θεοτόκου και Εθνική Ημέρα Ανεξαρτησίας της Ελλάδας
|
||||
holiday.el-GR4.date=20200325
|
||||
holiday.el-GR4.date=20210325
|
||||
holiday.el-GR5.name=Μεγάλη Παρασκευή
|
||||
holiday.el-GR5.date=20200417
|
||||
holiday.el-GR5.date=20210430
|
||||
holiday.el-GR6.name=Μεγάλο Σάββατο
|
||||
holiday.el-GR6.date=20200418
|
||||
holiday.el-GR7.name=Πάσχα
|
||||
holiday.el-GR7.date=20200419
|
||||
holiday.el-GR8.name=Δευτέρα του Πάσχα
|
||||
holiday.el-GR8.date=20200420
|
||||
holiday.el-GR9.name=Πρωτομαγιά
|
||||
holiday.el-GR9.date=20200501
|
||||
holiday.el-GR6.date=20210501
|
||||
holiday.el-GR7.name=Πρωτομαγιά
|
||||
holiday.el-GR7.date=20210501
|
||||
holiday.el-GR8.name=Πάσχα
|
||||
holiday.el-GR8.date=20210502
|
||||
holiday.el-GR9.name=Δευτέρα του Πάσχα
|
||||
holiday.el-GR9.date=20210503
|
||||
holiday.el-GR10.name=Δευτέρα του Αγίου Πνεύματος
|
||||
holiday.el-GR10.date=20200608
|
||||
holiday.el-GR10.date=20210621
|
||||
holiday.el-GR11.name=Κοίμηση της Θεοτόκου
|
||||
holiday.el-GR11.date=20200815
|
||||
holiday.el-GR11.date=20210815
|
||||
holiday.el-GR12.name=Ημέρα του ΌΧΙ
|
||||
holiday.el-GR12.date=20201028
|
||||
holiday.el-GR12.date=20211028
|
||||
holiday.el-GR13.name=Χριστούγεννα
|
||||
holiday.el-GR13.date=20201225
|
||||
holiday.el-GR13.date=20211225
|
||||
holiday.el-GR14.name=Επόμενη ημέρα Χριστουγέννων
|
||||
holiday.el-GR14.date=20201226
|
||||
holiday.el-GR14.date=20211226
|
||||
holiday.el-GR15.name=Πρωτοχρονιά
|
||||
holiday.el-GR15.date=20210101
|
||||
holiday.el-GR15.date=20220101
|
||||
holiday.el-GR16.name=Θεοφάνεια
|
||||
holiday.el-GR16.date=20210106
|
||||
holiday.el-GR16.date=20220106
|
||||
holiday.el-GR17.name=Καθαρά Δευτέρα
|
||||
holiday.el-GR17.date=20210315
|
||||
holiday.el-GR17.date=20220307
|
||||
holiday.el-GR18.name=Ευαγγελισμός της Θεοτόκου και Εθνική Ημέρα Ανεξαρτησίας της Ελλάδας
|
||||
holiday.el-GR18.date=20210325
|
||||
holiday.el-GR18.date=20220325
|
||||
holiday.el-GR19.name=Μεγάλη Παρασκευή
|
||||
holiday.el-GR19.date=20210430
|
||||
holiday.el-GR19.date=20220422
|
||||
holiday.el-GR20.name=Μεγάλο Σάββατο
|
||||
holiday.el-GR20.date=20210501
|
||||
holiday.el-GR21.name=Πρωτομαγιά
|
||||
holiday.el-GR21.date=20210501
|
||||
holiday.el-GR22.name=Πάσχα
|
||||
holiday.el-GR22.date=20210502
|
||||
holiday.el-GR23.name=Δευτέρα του Πάσχα
|
||||
holiday.el-GR23.date=20210503
|
||||
holiday.el-GR20.date=20220423
|
||||
holiday.el-GR21.name=Πάσχα
|
||||
holiday.el-GR21.date=20220424
|
||||
holiday.el-GR22.name=Δευτέρα του Πάσχα
|
||||
holiday.el-GR22.date=20220425
|
||||
holiday.el-GR23.name=Πρωτομαγιά
|
||||
holiday.el-GR23.date=20220501
|
||||
holiday.el-GR24.name=Δευτέρα του Αγίου Πνεύματος
|
||||
holiday.el-GR24.date=20210621
|
||||
holiday.el-GR24.date=20220613
|
||||
holiday.el-GR25.name=Κοίμηση της Θεοτόκου
|
||||
holiday.el-GR25.date=20210815
|
||||
holiday.el-GR25.date=20220815
|
||||
holiday.el-GR26.name=Ημέρα του ΌΧΙ
|
||||
holiday.el-GR26.date=20211028
|
||||
holiday.el-GR26.date=20221028
|
||||
holiday.el-GR27.name=Χριστούγεννα
|
||||
holiday.el-GR27.date=20211225
|
||||
holiday.el-GR27.date=20221225
|
||||
holiday.el-GR28.name=Επόμενη ημέρα Χριστουγέννων
|
||||
holiday.el-GR28.date=20211226
|
||||
holiday.el-GR28.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/en-CA/2020.json
|
||||
# https://holidata.net/en-CA/2021.json
|
||||
# https://holidata.net/en-CA/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,78 +28,78 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.en-CA1.name=New Year's Day
|
||||
holiday.en-CA1.date=20200101
|
||||
holiday.en-CA1.date=20210101
|
||||
holiday.en-CA2.name=Family Day
|
||||
holiday.en-CA2.date=20200217
|
||||
holiday.en-CA2.date=20210215
|
||||
holiday.en-CA3.name=Louis Riel Day
|
||||
holiday.en-CA3.date=20200217
|
||||
holiday.en-CA3.date=20210215
|
||||
holiday.en-CA4.name=Islander Day
|
||||
holiday.en-CA4.date=20200217
|
||||
holiday.en-CA4.date=20210215
|
||||
holiday.en-CA5.name=Good Friday
|
||||
holiday.en-CA5.date=20200410
|
||||
holiday.en-CA5.date=20210402
|
||||
holiday.en-CA6.name=Easter Monday
|
||||
holiday.en-CA6.date=20200413
|
||||
holiday.en-CA6.date=20210405
|
||||
holiday.en-CA7.name=National Patriots' Day
|
||||
holiday.en-CA7.date=20200518
|
||||
holiday.en-CA7.date=20210524
|
||||
holiday.en-CA8.name=Victoria Day
|
||||
holiday.en-CA8.date=20200518
|
||||
holiday.en-CA8.date=20210524
|
||||
holiday.en-CA9.name=National Holiday
|
||||
holiday.en-CA9.date=20200624
|
||||
holiday.en-CA9.date=20210624
|
||||
holiday.en-CA10.name=Canada Day
|
||||
holiday.en-CA10.date=20200701
|
||||
holiday.en-CA10.date=20210701
|
||||
holiday.en-CA11.name=August Civic Holiday
|
||||
holiday.en-CA11.date=20200803
|
||||
holiday.en-CA11.date=20210802
|
||||
holiday.en-CA12.name=Saskatchewan Day
|
||||
holiday.en-CA12.date=20200803
|
||||
holiday.en-CA12.date=20210802
|
||||
holiday.en-CA13.name=Heritage Day
|
||||
holiday.en-CA13.date=20200803
|
||||
holiday.en-CA13.date=20210802
|
||||
holiday.en-CA14.name=New Brunswick Day
|
||||
holiday.en-CA14.date=20200803
|
||||
holiday.en-CA14.date=20210802
|
||||
holiday.en-CA15.name=Labour Day
|
||||
holiday.en-CA15.date=20200907
|
||||
holiday.en-CA15.date=20210906
|
||||
holiday.en-CA16.name=Thanksgiving Day
|
||||
holiday.en-CA16.date=20201012
|
||||
holiday.en-CA16.date=20211011
|
||||
holiday.en-CA17.name=Remembrance Day
|
||||
holiday.en-CA17.date=20201111
|
||||
holiday.en-CA17.date=20211111
|
||||
holiday.en-CA18.name=Christmas Day
|
||||
holiday.en-CA18.date=20201225
|
||||
holiday.en-CA18.date=20211225
|
||||
holiday.en-CA19.name=Boxing Day
|
||||
holiday.en-CA19.date=20201226
|
||||
holiday.en-CA19.date=20211226
|
||||
holiday.en-CA20.name=New Year's Day
|
||||
holiday.en-CA20.date=20210101
|
||||
holiday.en-CA20.date=20220101
|
||||
holiday.en-CA21.name=Family Day
|
||||
holiday.en-CA21.date=20210215
|
||||
holiday.en-CA21.date=20220221
|
||||
holiday.en-CA22.name=Louis Riel Day
|
||||
holiday.en-CA22.date=20210215
|
||||
holiday.en-CA22.date=20220221
|
||||
holiday.en-CA23.name=Islander Day
|
||||
holiday.en-CA23.date=20210215
|
||||
holiday.en-CA23.date=20220221
|
||||
holiday.en-CA24.name=Good Friday
|
||||
holiday.en-CA24.date=20210402
|
||||
holiday.en-CA24.date=20220415
|
||||
holiday.en-CA25.name=Easter Monday
|
||||
holiday.en-CA25.date=20210405
|
||||
holiday.en-CA25.date=20220418
|
||||
holiday.en-CA26.name=National Patriots' Day
|
||||
holiday.en-CA26.date=20210524
|
||||
holiday.en-CA26.date=20220523
|
||||
holiday.en-CA27.name=Victoria Day
|
||||
holiday.en-CA27.date=20210524
|
||||
holiday.en-CA27.date=20220523
|
||||
holiday.en-CA28.name=National Holiday
|
||||
holiday.en-CA28.date=20210624
|
||||
holiday.en-CA28.date=20220624
|
||||
holiday.en-CA29.name=Canada Day
|
||||
holiday.en-CA29.date=20210701
|
||||
holiday.en-CA29.date=20220701
|
||||
holiday.en-CA30.name=August Civic Holiday
|
||||
holiday.en-CA30.date=20210802
|
||||
holiday.en-CA30.date=20220801
|
||||
holiday.en-CA31.name=Saskatchewan Day
|
||||
holiday.en-CA31.date=20210802
|
||||
holiday.en-CA31.date=20220801
|
||||
holiday.en-CA32.name=Heritage Day
|
||||
holiday.en-CA32.date=20210802
|
||||
holiday.en-CA32.date=20220801
|
||||
holiday.en-CA33.name=New Brunswick Day
|
||||
holiday.en-CA33.date=20210802
|
||||
holiday.en-CA33.date=20220801
|
||||
holiday.en-CA34.name=Labour Day
|
||||
holiday.en-CA34.date=20210906
|
||||
holiday.en-CA34.date=20220905
|
||||
holiday.en-CA35.name=Thanksgiving Day
|
||||
holiday.en-CA35.date=20211011
|
||||
holiday.en-CA35.date=20221010
|
||||
holiday.en-CA36.name=Remembrance Day
|
||||
holiday.en-CA36.date=20211111
|
||||
holiday.en-CA36.date=20221111
|
||||
holiday.en-CA37.name=Christmas Day
|
||||
holiday.en-CA37.date=20211225
|
||||
holiday.en-CA37.date=20221225
|
||||
holiday.en-CA38.name=Boxing Day
|
||||
holiday.en-CA38.date=20211226
|
||||
holiday.en-CA38.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/en-GB/2020.json
|
||||
# https://holidata.net/en-GB/2021.json
|
||||
# https://holidata.net/en-GB/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,40 +28,42 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.en-GB1.name=New Year's Day
|
||||
holiday.en-GB1.date=20200101
|
||||
holiday.en-GB1.date=20210101
|
||||
holiday.en-GB2.name=Good Friday
|
||||
holiday.en-GB2.date=20200410
|
||||
holiday.en-GB2.date=20210402
|
||||
holiday.en-GB3.name=Easter Monday
|
||||
holiday.en-GB3.date=20200413
|
||||
holiday.en-GB3.date=20210405
|
||||
holiday.en-GB4.name=Early May Bank Holiday
|
||||
holiday.en-GB4.date=20200504
|
||||
holiday.en-GB4.date=20210503
|
||||
holiday.en-GB5.name=Spring Bank Holiday
|
||||
holiday.en-GB5.date=20200525
|
||||
holiday.en-GB5.date=20210531
|
||||
holiday.en-GB6.name=August Bank Holiday
|
||||
holiday.en-GB6.date=20200831
|
||||
holiday.en-GB6.date=20210830
|
||||
holiday.en-GB7.name=Christmas Day
|
||||
holiday.en-GB7.date=20201225
|
||||
holiday.en-GB7.date=20211225
|
||||
holiday.en-GB8.name=Boxing Day
|
||||
holiday.en-GB8.date=20201226
|
||||
holiday.en-GB9.name=Boxing Day (observed)
|
||||
holiday.en-GB9.date=20201228
|
||||
holiday.en-GB10.name=New Year's Day
|
||||
holiday.en-GB10.date=20210101
|
||||
holiday.en-GB11.name=Good Friday
|
||||
holiday.en-GB11.date=20210402
|
||||
holiday.en-GB12.name=Easter Monday
|
||||
holiday.en-GB12.date=20210405
|
||||
holiday.en-GB13.name=Early May Bank Holiday
|
||||
holiday.en-GB13.date=20210503
|
||||
holiday.en-GB14.name=Spring Bank Holiday
|
||||
holiday.en-GB14.date=20210531
|
||||
holiday.en-GB15.name=August Bank Holiday
|
||||
holiday.en-GB15.date=20210830
|
||||
holiday.en-GB16.name=Christmas Day
|
||||
holiday.en-GB16.date=20211225
|
||||
holiday.en-GB17.name=Boxing Day
|
||||
holiday.en-GB17.date=20211226
|
||||
holiday.en-GB18.name=Christmas Day (observed)
|
||||
holiday.en-GB18.date=20211227
|
||||
holiday.en-GB19.name=Boxing Day (observed)
|
||||
holiday.en-GB19.date=20211228
|
||||
holiday.en-GB8.date=20211226
|
||||
holiday.en-GB9.name=Christmas Day (observed)
|
||||
holiday.en-GB9.date=20211227
|
||||
holiday.en-GB10.name=Boxing Day (observed)
|
||||
holiday.en-GB10.date=20211228
|
||||
holiday.en-GB11.name=New Year's Day
|
||||
holiday.en-GB11.date=20220101
|
||||
holiday.en-GB12.name=New Year's Day (observed)
|
||||
holiday.en-GB12.date=20220103
|
||||
holiday.en-GB13.name=Good Friday
|
||||
holiday.en-GB13.date=20220415
|
||||
holiday.en-GB14.name=Easter Monday
|
||||
holiday.en-GB14.date=20220418
|
||||
holiday.en-GB15.name=Early May Bank Holiday
|
||||
holiday.en-GB15.date=20220502
|
||||
holiday.en-GB16.name=Spring Bank Holiday
|
||||
holiday.en-GB16.date=20220530
|
||||
holiday.en-GB17.name=August Bank Holiday
|
||||
holiday.en-GB17.date=20220829
|
||||
holiday.en-GB18.name=Christmas Day
|
||||
holiday.en-GB18.date=20221225
|
||||
holiday.en-GB19.name=Boxing Day
|
||||
holiday.en-GB19.date=20221226
|
||||
holiday.en-GB20.name=Christmas Day (observed)
|
||||
holiday.en-GB20.date=20221227
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/en-NZ/2020.json
|
||||
# https://holidata.net/en-NZ/2021.json
|
||||
# https://holidata.net/en-NZ/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,54 +28,56 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.en-NZ1.name=New Year's Day
|
||||
holiday.en-NZ1.date=20200101
|
||||
holiday.en-NZ1.date=20210101
|
||||
holiday.en-NZ2.name=Day after New Year's Day
|
||||
holiday.en-NZ2.date=20200102
|
||||
holiday.en-NZ2.date=20210104
|
||||
holiday.en-NZ3.name=Waitangi Day
|
||||
holiday.en-NZ3.date=20200206
|
||||
holiday.en-NZ4.name=Good Friday
|
||||
holiday.en-NZ4.date=20200410
|
||||
holiday.en-NZ5.name=Easter Monday
|
||||
holiday.en-NZ5.date=20200413
|
||||
holiday.en-NZ6.name=ANZAC Day
|
||||
holiday.en-NZ6.date=20200425
|
||||
holiday.en-NZ7.name=ANZAC Day (observed)
|
||||
holiday.en-NZ7.date=20200427
|
||||
holiday.en-NZ8.name=Queen's Birthday
|
||||
holiday.en-NZ8.date=20200601
|
||||
holiday.en-NZ9.name=Labour Day
|
||||
holiday.en-NZ9.date=20201026
|
||||
holiday.en-NZ10.name=Christmas Day
|
||||
holiday.en-NZ10.date=20201225
|
||||
holiday.en-NZ11.name=Boxing Day
|
||||
holiday.en-NZ11.date=20201226
|
||||
holiday.en-NZ12.name=Boxing Day (observed)
|
||||
holiday.en-NZ12.date=20201228
|
||||
holiday.en-NZ13.name=New Year's Day
|
||||
holiday.en-NZ13.date=20210101
|
||||
holiday.en-NZ14.name=Day after New Year's Day
|
||||
holiday.en-NZ14.date=20210104
|
||||
holiday.en-NZ15.name=Waitangi Day
|
||||
holiday.en-NZ15.date=20210206
|
||||
holiday.en-NZ16.name=Waitangi Day (observed)
|
||||
holiday.en-NZ16.date=20210208
|
||||
holiday.en-NZ17.name=Good Friday
|
||||
holiday.en-NZ17.date=20210402
|
||||
holiday.en-NZ18.name=Easter Monday
|
||||
holiday.en-NZ18.date=20210405
|
||||
holiday.en-NZ19.name=ANZAC Day
|
||||
holiday.en-NZ19.date=20210425
|
||||
holiday.en-NZ20.name=ANZAC Day (observed)
|
||||
holiday.en-NZ20.date=20210426
|
||||
holiday.en-NZ21.name=Queen's Birthday
|
||||
holiday.en-NZ21.date=20210607
|
||||
holiday.en-NZ22.name=Labour Day
|
||||
holiday.en-NZ22.date=20211025
|
||||
holiday.en-NZ23.name=Christmas Day
|
||||
holiday.en-NZ23.date=20211225
|
||||
holiday.en-NZ24.name=Boxing Day
|
||||
holiday.en-NZ24.date=20211226
|
||||
holiday.en-NZ25.name=Christmas Day (observed)
|
||||
holiday.en-NZ25.date=20211227
|
||||
holiday.en-NZ26.name=Boxing Day (observed)
|
||||
holiday.en-NZ26.date=20211228
|
||||
holiday.en-NZ3.date=20210206
|
||||
holiday.en-NZ4.name=Waitangi Day (observed)
|
||||
holiday.en-NZ4.date=20210208
|
||||
holiday.en-NZ5.name=Good Friday
|
||||
holiday.en-NZ5.date=20210402
|
||||
holiday.en-NZ6.name=Easter Monday
|
||||
holiday.en-NZ6.date=20210405
|
||||
holiday.en-NZ7.name=ANZAC Day
|
||||
holiday.en-NZ7.date=20210425
|
||||
holiday.en-NZ8.name=ANZAC Day (observed)
|
||||
holiday.en-NZ8.date=20210426
|
||||
holiday.en-NZ9.name=Queen's Birthday
|
||||
holiday.en-NZ9.date=20210607
|
||||
holiday.en-NZ10.name=Labour Day
|
||||
holiday.en-NZ10.date=20211025
|
||||
holiday.en-NZ11.name=Christmas Day
|
||||
holiday.en-NZ11.date=20211225
|
||||
holiday.en-NZ12.name=Boxing Day
|
||||
holiday.en-NZ12.date=20211226
|
||||
holiday.en-NZ13.name=Christmas Day (observed)
|
||||
holiday.en-NZ13.date=20211227
|
||||
holiday.en-NZ14.name=Boxing Day (observed)
|
||||
holiday.en-NZ14.date=20211228
|
||||
holiday.en-NZ15.name=New Year's Day
|
||||
holiday.en-NZ15.date=20220101
|
||||
holiday.en-NZ16.name=New Year's Day (observed)
|
||||
holiday.en-NZ16.date=20220103
|
||||
holiday.en-NZ17.name=Day after New Year's Day
|
||||
holiday.en-NZ17.date=20220104
|
||||
holiday.en-NZ18.name=Waitangi Day
|
||||
holiday.en-NZ18.date=20220206
|
||||
holiday.en-NZ19.name=Waitangi Day (observed)
|
||||
holiday.en-NZ19.date=20220207
|
||||
holiday.en-NZ20.name=Good Friday
|
||||
holiday.en-NZ20.date=20220415
|
||||
holiday.en-NZ21.name=Easter Monday
|
||||
holiday.en-NZ21.date=20220418
|
||||
holiday.en-NZ22.name=ANZAC Day
|
||||
holiday.en-NZ22.date=20220425
|
||||
holiday.en-NZ23.name=Queen's Birthday
|
||||
holiday.en-NZ23.date=20220606
|
||||
holiday.en-NZ24.name=Labour Day
|
||||
holiday.en-NZ24.date=20221024
|
||||
holiday.en-NZ25.name=Christmas Day
|
||||
holiday.en-NZ25.date=20221225
|
||||
holiday.en-NZ26.name=Boxing Day
|
||||
holiday.en-NZ26.date=20221226
|
||||
holiday.en-NZ27.name=Christmas Day (observed)
|
||||
holiday.en-NZ27.date=20221227
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/en-US/2020.json
|
||||
# https://holidata.net/en-US/2021.json
|
||||
# https://holidata.net/en-US/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.en-US1.name=New Year's Day
|
||||
holiday.en-US1.date=20200101
|
||||
holiday.en-US1.date=20210101
|
||||
holiday.en-US2.name=Birthday of Martin Luther King, Jr.
|
||||
holiday.en-US2.date=20200120
|
||||
holiday.en-US2.date=20210118
|
||||
holiday.en-US3.name=Washington's Birthday
|
||||
holiday.en-US3.date=20200217
|
||||
holiday.en-US3.date=20210215
|
||||
holiday.en-US4.name=Patriots' Day
|
||||
holiday.en-US4.date=20200420
|
||||
holiday.en-US4.date=20210419
|
||||
holiday.en-US5.name=Memorial Day
|
||||
holiday.en-US5.date=20200525
|
||||
holiday.en-US5.date=20210531
|
||||
holiday.en-US6.name=Independence Day
|
||||
holiday.en-US6.date=20200704
|
||||
holiday.en-US6.date=20210704
|
||||
holiday.en-US7.name=Labor Day
|
||||
holiday.en-US7.date=20200907
|
||||
holiday.en-US7.date=20210906
|
||||
holiday.en-US8.name=Columbus Day
|
||||
holiday.en-US8.date=20201012
|
||||
holiday.en-US8.date=20211011
|
||||
holiday.en-US9.name=Veterans Day
|
||||
holiday.en-US9.date=20201111
|
||||
holiday.en-US9.date=20211111
|
||||
holiday.en-US10.name=Thanksgiving Day
|
||||
holiday.en-US10.date=20201126
|
||||
holiday.en-US11.name=Day after Thanksgiving
|
||||
holiday.en-US11.date=20201127
|
||||
holiday.en-US12.name=Christmas Eve
|
||||
holiday.en-US12.date=20201224
|
||||
holiday.en-US13.name=Christmas Day
|
||||
holiday.en-US13.date=20201225
|
||||
holiday.en-US14.name=New Year's Day
|
||||
holiday.en-US14.date=20210101
|
||||
holiday.en-US15.name=Birthday of Martin Luther King, Jr.
|
||||
holiday.en-US15.date=20210118
|
||||
holiday.en-US16.name=Washington's Birthday
|
||||
holiday.en-US16.date=20210215
|
||||
holiday.en-US17.name=Patriots' Day
|
||||
holiday.en-US17.date=20210419
|
||||
holiday.en-US18.name=Memorial Day
|
||||
holiday.en-US18.date=20210531
|
||||
holiday.en-US19.name=Independence Day
|
||||
holiday.en-US19.date=20210704
|
||||
holiday.en-US20.name=Labor Day
|
||||
holiday.en-US20.date=20210906
|
||||
holiday.en-US21.name=Columbus Day
|
||||
holiday.en-US21.date=20211011
|
||||
holiday.en-US22.name=Veterans Day
|
||||
holiday.en-US22.date=20211111
|
||||
holiday.en-US23.name=Thanksgiving Day
|
||||
holiday.en-US23.date=20211125
|
||||
holiday.en-US10.date=20211125
|
||||
holiday.en-US11.name=Christmas Day
|
||||
holiday.en-US11.date=20211225
|
||||
holiday.en-US12.name=New Year's Day
|
||||
holiday.en-US12.date=20220101
|
||||
holiday.en-US13.name=Birthday of Martin Luther King, Jr.
|
||||
holiday.en-US13.date=20220117
|
||||
holiday.en-US14.name=Washington's Birthday
|
||||
holiday.en-US14.date=20220221
|
||||
holiday.en-US15.name=Patriots' Day
|
||||
holiday.en-US15.date=20220418
|
||||
holiday.en-US16.name=Memorial Day
|
||||
holiday.en-US16.date=20220530
|
||||
holiday.en-US17.name=Independence Day
|
||||
holiday.en-US17.date=20220704
|
||||
holiday.en-US18.name=Labor Day
|
||||
holiday.en-US18.date=20220905
|
||||
holiday.en-US19.name=Columbus Day
|
||||
holiday.en-US19.date=20221010
|
||||
holiday.en-US20.name=Veterans Day
|
||||
holiday.en-US20.date=20221111
|
||||
holiday.en-US21.name=Thanksgiving Day
|
||||
holiday.en-US21.date=20221124
|
||||
holiday.en-US22.name=Day after Thanksgiving
|
||||
holiday.en-US22.date=20221125
|
||||
holiday.en-US23.name=Christmas Eve
|
||||
holiday.en-US23.date=20221224
|
||||
holiday.en-US24.name=Christmas Day
|
||||
holiday.en-US24.date=20211225
|
||||
holiday.en-US24.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/es-CO/2020.json
|
||||
# https://holidata.net/es-CO/2021.json
|
||||
# https://holidata.net/es-CO/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,78 +28,78 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.es-CO1.name=Año Nuevo
|
||||
holiday.es-CO1.date=20200101
|
||||
holiday.es-CO1.date=20210101
|
||||
holiday.es-CO2.name=Día de los Reyes Magos
|
||||
holiday.es-CO2.date=20200106
|
||||
holiday.es-CO2.date=20210111
|
||||
holiday.es-CO3.name=Día de San José
|
||||
holiday.es-CO3.date=20200323
|
||||
holiday.es-CO3.date=20210322
|
||||
holiday.es-CO4.name=Jueves Santo
|
||||
holiday.es-CO4.date=20200409
|
||||
holiday.es-CO4.date=20210401
|
||||
holiday.es-CO5.name=Viernes Santo
|
||||
holiday.es-CO5.date=20200410
|
||||
holiday.es-CO5.date=20210402
|
||||
holiday.es-CO6.name=Domingo de Pascua
|
||||
holiday.es-CO6.date=20200412
|
||||
holiday.es-CO6.date=20210404
|
||||
holiday.es-CO7.name=Día del Trabajo
|
||||
holiday.es-CO7.date=20200501
|
||||
holiday.es-CO7.date=20210501
|
||||
holiday.es-CO8.name=La Ascensión del Señor
|
||||
holiday.es-CO8.date=20200525
|
||||
holiday.es-CO8.date=20210517
|
||||
holiday.es-CO9.name=Corpus Christi
|
||||
holiday.es-CO9.date=20200615
|
||||
holiday.es-CO9.date=20210607
|
||||
holiday.es-CO10.name=El Sagrado Corazón de Jesús
|
||||
holiday.es-CO10.date=20200622
|
||||
holiday.es-CO10.date=20210614
|
||||
holiday.es-CO11.name=San Pedro y San Pablo
|
||||
holiday.es-CO11.date=20200629
|
||||
holiday.es-CO11.date=20210705
|
||||
holiday.es-CO12.name=Grito de Independencia
|
||||
holiday.es-CO12.date=20200720
|
||||
holiday.es-CO12.date=20210720
|
||||
holiday.es-CO13.name=Batalla de Boyacá
|
||||
holiday.es-CO13.date=20200807
|
||||
holiday.es-CO13.date=20210807
|
||||
holiday.es-CO14.name=Asunción de la Virgen
|
||||
holiday.es-CO14.date=20200817
|
||||
holiday.es-CO14.date=20210816
|
||||
holiday.es-CO15.name=Día de la Raza
|
||||
holiday.es-CO15.date=20201012
|
||||
holiday.es-CO15.date=20211018
|
||||
holiday.es-CO16.name=Todos los Santos
|
||||
holiday.es-CO16.date=20201102
|
||||
holiday.es-CO16.date=20211101
|
||||
holiday.es-CO17.name=Independencia de Cartagena
|
||||
holiday.es-CO17.date=20201116
|
||||
holiday.es-CO17.date=20211115
|
||||
holiday.es-CO18.name=Inmaculada Concepción
|
||||
holiday.es-CO18.date=20201208
|
||||
holiday.es-CO18.date=20211208
|
||||
holiday.es-CO19.name=Navidad
|
||||
holiday.es-CO19.date=20201225
|
||||
holiday.es-CO19.date=20211225
|
||||
holiday.es-CO20.name=Año Nuevo
|
||||
holiday.es-CO20.date=20210101
|
||||
holiday.es-CO20.date=20220101
|
||||
holiday.es-CO21.name=Día de los Reyes Magos
|
||||
holiday.es-CO21.date=20210111
|
||||
holiday.es-CO21.date=20220110
|
||||
holiday.es-CO22.name=Día de San José
|
||||
holiday.es-CO22.date=20210322
|
||||
holiday.es-CO22.date=20220321
|
||||
holiday.es-CO23.name=Jueves Santo
|
||||
holiday.es-CO23.date=20210401
|
||||
holiday.es-CO23.date=20220414
|
||||
holiday.es-CO24.name=Viernes Santo
|
||||
holiday.es-CO24.date=20210402
|
||||
holiday.es-CO24.date=20220415
|
||||
holiday.es-CO25.name=Domingo de Pascua
|
||||
holiday.es-CO25.date=20210404
|
||||
holiday.es-CO25.date=20220417
|
||||
holiday.es-CO26.name=Día del Trabajo
|
||||
holiday.es-CO26.date=20210501
|
||||
holiday.es-CO26.date=20220501
|
||||
holiday.es-CO27.name=La Ascensión del Señor
|
||||
holiday.es-CO27.date=20210517
|
||||
holiday.es-CO27.date=20220530
|
||||
holiday.es-CO28.name=Corpus Christi
|
||||
holiday.es-CO28.date=20210607
|
||||
holiday.es-CO28.date=20220620
|
||||
holiday.es-CO29.name=El Sagrado Corazón de Jesús
|
||||
holiday.es-CO29.date=20210614
|
||||
holiday.es-CO29.date=20220627
|
||||
holiday.es-CO30.name=San Pedro y San Pablo
|
||||
holiday.es-CO30.date=20210705
|
||||
holiday.es-CO30.date=20220704
|
||||
holiday.es-CO31.name=Grito de Independencia
|
||||
holiday.es-CO31.date=20210720
|
||||
holiday.es-CO31.date=20220720
|
||||
holiday.es-CO32.name=Batalla de Boyacá
|
||||
holiday.es-CO32.date=20210807
|
||||
holiday.es-CO32.date=20220807
|
||||
holiday.es-CO33.name=Asunción de la Virgen
|
||||
holiday.es-CO33.date=20210816
|
||||
holiday.es-CO33.date=20220815
|
||||
holiday.es-CO34.name=Día de la Raza
|
||||
holiday.es-CO34.date=20211018
|
||||
holiday.es-CO34.date=20221017
|
||||
holiday.es-CO35.name=Todos los Santos
|
||||
holiday.es-CO35.date=20211101
|
||||
holiday.es-CO35.date=20221107
|
||||
holiday.es-CO36.name=Independencia de Cartagena
|
||||
holiday.es-CO36.date=20211115
|
||||
holiday.es-CO36.date=20221114
|
||||
holiday.es-CO37.name=Inmaculada Concepción
|
||||
holiday.es-CO37.date=20211208
|
||||
holiday.es-CO37.date=20221208
|
||||
holiday.es-CO38.name=Navidad
|
||||
holiday.es-CO38.date=20211225
|
||||
holiday.es-CO38.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/es-ES/2020.json
|
||||
# https://holidata.net/es-ES/2021.json
|
||||
# https://holidata.net/es-ES/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,54 +28,128 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.es-ES1.name=Año Nuevo
|
||||
holiday.es-ES1.date=20200101
|
||||
holiday.es-ES2.name=Día de los Reyes
|
||||
holiday.es-ES2.date=20200106
|
||||
holiday.es-ES3.name=Viernes Santo
|
||||
holiday.es-ES3.date=20200410
|
||||
holiday.es-ES4.name=Pascua
|
||||
holiday.es-ES4.date=20200412
|
||||
holiday.es-ES5.name=Fiesta del Trabajo
|
||||
holiday.es-ES5.date=20200501
|
||||
holiday.es-ES6.name=Asunción de la Virgen
|
||||
holiday.es-ES6.date=20200815
|
||||
holiday.es-ES7.name=Fiesta Nacional de España
|
||||
holiday.es-ES7.date=20201012
|
||||
holiday.es-ES8.name=Dia de todos los Santos
|
||||
holiday.es-ES8.date=20201101
|
||||
holiday.es-ES9.name=Dia de la Constitución
|
||||
holiday.es-ES9.date=20201206
|
||||
holiday.es-ES10.name=Inmaculada Concepción
|
||||
holiday.es-ES10.date=20201208
|
||||
holiday.es-ES11.name=Noche Buena
|
||||
holiday.es-ES11.date=20201224
|
||||
holiday.es-ES12.name=Navidad
|
||||
holiday.es-ES12.date=20201225
|
||||
holiday.es-ES13.name=Noche Vieja
|
||||
holiday.es-ES13.date=20201231
|
||||
holiday.es-ES14.name=Año Nuevo
|
||||
holiday.es-ES14.date=20210101
|
||||
holiday.es-ES15.name=Día de los Reyes
|
||||
holiday.es-ES15.date=20210106
|
||||
holiday.es-ES16.name=Viernes Santo
|
||||
holiday.es-ES16.date=20210402
|
||||
holiday.es-ES17.name=Pascua
|
||||
holiday.es-ES17.date=20210404
|
||||
holiday.es-ES18.name=Fiesta del Trabajo
|
||||
holiday.es-ES18.date=20210501
|
||||
holiday.es-ES19.name=Asunción de la Virgen
|
||||
holiday.es-ES19.date=20210815
|
||||
holiday.es-ES20.name=Fiesta Nacional de España
|
||||
holiday.es-ES20.date=20211012
|
||||
holiday.es-ES21.name=Dia de todos los Santos
|
||||
holiday.es-ES21.date=20211101
|
||||
holiday.es-ES22.name=Dia de la Constitución
|
||||
holiday.es-ES22.date=20211206
|
||||
holiday.es-ES23.name=Inmaculada Concepción
|
||||
holiday.es-ES23.date=20211208
|
||||
holiday.es-ES24.name=Noche Buena
|
||||
holiday.es-ES24.date=20211224
|
||||
holiday.es-ES25.name=Navidad
|
||||
holiday.es-ES25.date=20211225
|
||||
holiday.es-ES26.name=Noche Vieja
|
||||
holiday.es-ES26.date=20211231
|
||||
holiday.es-ES1.date=20210101
|
||||
holiday.es-ES2.name=Epifanía del Señor
|
||||
holiday.es-ES2.date=20210106
|
||||
holiday.es-ES3.name=Día de Andalucía
|
||||
holiday.es-ES3.date=20210301
|
||||
holiday.es-ES4.name=Día de las Illes Balears
|
||||
holiday.es-ES4.date=20210301
|
||||
holiday.es-ES5.name=Estatuto de Autonomía de la Ciudad de Melilla
|
||||
holiday.es-ES5.date=20210313
|
||||
holiday.es-ES6.name=San José
|
||||
holiday.es-ES6.date=20210319
|
||||
holiday.es-ES7.name=Jueves Santo
|
||||
holiday.es-ES7.date=20210401
|
||||
holiday.es-ES8.name=Viernes Santo
|
||||
holiday.es-ES8.date=20210402
|
||||
holiday.es-ES9.name=Pascua
|
||||
holiday.es-ES9.date=20210404
|
||||
holiday.es-ES10.name=Lunes de Pascua
|
||||
holiday.es-ES10.date=20210405
|
||||
holiday.es-ES11.name=Fiesta de Castilla y León
|
||||
holiday.es-ES11.date=20210423
|
||||
holiday.es-ES12.name=San Jorge / Día de Aragón
|
||||
holiday.es-ES12.date=20210423
|
||||
holiday.es-ES13.name=Fiesta del Trabajo
|
||||
holiday.es-ES13.date=20210501
|
||||
holiday.es-ES14.name=Lunes siguiente al Día de la Comunidad de Madrid
|
||||
holiday.es-ES14.date=20210503
|
||||
holiday.es-ES15.name=Día de las Letras Gallegas
|
||||
holiday.es-ES15.date=20210517
|
||||
holiday.es-ES16.name=Día de Castilla-La Mancha
|
||||
holiday.es-ES16.date=20210531
|
||||
holiday.es-ES17.name=Corpus Christi
|
||||
holiday.es-ES17.date=20210603
|
||||
holiday.es-ES18.name=Día de la Región de Murcia
|
||||
holiday.es-ES18.date=20210609
|
||||
holiday.es-ES19.name=Día de La Rioja
|
||||
holiday.es-ES19.date=20210609
|
||||
holiday.es-ES20.name=San Juan
|
||||
holiday.es-ES20.date=20210624
|
||||
holiday.es-ES21.name=Fiesta del Sacrificio (Eidul Adha)
|
||||
holiday.es-ES21.date=20210720
|
||||
holiday.es-ES22.name=Fiesta del Sacrificio (Aid El Kebir)
|
||||
holiday.es-ES22.date=20210721
|
||||
holiday.es-ES23.name=Santiago Apóstol / Día Nacional de Galicia
|
||||
holiday.es-ES23.date=20210725
|
||||
holiday.es-ES24.name=Día de las Instituciones de Cantabria
|
||||
holiday.es-ES24.date=20210728
|
||||
holiday.es-ES25.name=Asunción de la Virgen
|
||||
holiday.es-ES25.date=20210815
|
||||
holiday.es-ES26.name=Lunes siguiente a la Asunción de la Virgen
|
||||
holiday.es-ES26.date=20210816
|
||||
holiday.es-ES27.name=Día de Ceuta
|
||||
holiday.es-ES27.date=20210902
|
||||
holiday.es-ES28.name=Día de Asturias
|
||||
holiday.es-ES28.date=20210908
|
||||
holiday.es-ES29.name=Día de Extremadura
|
||||
holiday.es-ES29.date=20210908
|
||||
holiday.es-ES30.name=Fiesta Nacional de Cataluña
|
||||
holiday.es-ES30.date=20210911
|
||||
holiday.es-ES31.name=La Bien Aparecida
|
||||
holiday.es-ES31.date=20210915
|
||||
holiday.es-ES32.name=Día de la Comunitat Valenciana
|
||||
holiday.es-ES32.date=20211009
|
||||
holiday.es-ES33.name=Fiesta Nacional de España
|
||||
holiday.es-ES33.date=20211012
|
||||
holiday.es-ES34.name=Todos los Santos
|
||||
holiday.es-ES34.date=20211101
|
||||
holiday.es-ES35.name=Día de la Constitución Española
|
||||
holiday.es-ES35.date=20211206
|
||||
holiday.es-ES36.name=Inmaculada Concepción
|
||||
holiday.es-ES36.date=20211208
|
||||
holiday.es-ES37.name=Natividad del Señor
|
||||
holiday.es-ES37.date=20211225
|
||||
holiday.es-ES38.name=Año Nuevo
|
||||
holiday.es-ES38.date=20220101
|
||||
holiday.es-ES39.name=Epifanía del Señor
|
||||
holiday.es-ES39.date=20220106
|
||||
holiday.es-ES40.name=Día de Andalucía
|
||||
holiday.es-ES40.date=20220228
|
||||
holiday.es-ES41.name=Estatuto de Autonomía de la Ciudad de Melilla
|
||||
holiday.es-ES41.date=20220313
|
||||
holiday.es-ES42.name=Viernes Santo
|
||||
holiday.es-ES42.date=20220415
|
||||
holiday.es-ES43.name=Pascua
|
||||
holiday.es-ES43.date=20220417
|
||||
holiday.es-ES44.name=Fiesta de Castilla y León
|
||||
holiday.es-ES44.date=20220423
|
||||
holiday.es-ES45.name=San Jorge / Día de Aragón
|
||||
holiday.es-ES45.date=20220423
|
||||
holiday.es-ES46.name=Fiesta del Trabajo
|
||||
holiday.es-ES46.date=20220501
|
||||
holiday.es-ES47.name=Fiesta de la Comunidad de Madrid
|
||||
holiday.es-ES47.date=20220502
|
||||
holiday.es-ES48.name=Día de las Letras Gallegas
|
||||
holiday.es-ES48.date=20220517
|
||||
holiday.es-ES49.name=Día de Canarias
|
||||
holiday.es-ES49.date=20220530
|
||||
holiday.es-ES50.name=Día de Castilla-La Mancha
|
||||
holiday.es-ES50.date=20220531
|
||||
holiday.es-ES51.name=Día de la Región de Murcia
|
||||
holiday.es-ES51.date=20220609
|
||||
holiday.es-ES52.name=Día de La Rioja
|
||||
holiday.es-ES52.date=20220609
|
||||
holiday.es-ES53.name=Santiago Apóstol / Día Nacional de Galicia
|
||||
holiday.es-ES53.date=20220725
|
||||
holiday.es-ES54.name=Asunción de la Virgen
|
||||
holiday.es-ES54.date=20220815
|
||||
holiday.es-ES55.name=Día de Asturias
|
||||
holiday.es-ES55.date=20220908
|
||||
holiday.es-ES56.name=Día de Extremadura
|
||||
holiday.es-ES56.date=20220908
|
||||
holiday.es-ES57.name=Fiesta Nacional de Cataluña
|
||||
holiday.es-ES57.date=20220911
|
||||
holiday.es-ES58.name=Día de la Comunitat Valenciana
|
||||
holiday.es-ES58.date=20221009
|
||||
holiday.es-ES59.name=Fiesta Nacional de España
|
||||
holiday.es-ES59.date=20221012
|
||||
holiday.es-ES60.name=Todos los Santos
|
||||
holiday.es-ES60.date=20221101
|
||||
holiday.es-ES61.name=Día de la Constitución Española
|
||||
holiday.es-ES61.date=20221206
|
||||
holiday.es-ES62.name=Inmaculada Concepción
|
||||
holiday.es-ES62.date=20221208
|
||||
holiday.es-ES63.name=Natividad del Señor
|
||||
holiday.es-ES63.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/es-US/2020.json
|
||||
# https://holidata.net/es-US/2021.json
|
||||
# https://holidata.net/es-US/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.es-US1.name=Año Neuvo
|
||||
holiday.es-US1.date=20200101
|
||||
holiday.es-US1.date=20210101
|
||||
holiday.es-US2.name=Cumpleaños de Martin Luther King, Jr.
|
||||
holiday.es-US2.date=20200120
|
||||
holiday.es-US2.date=20210118
|
||||
holiday.es-US3.name=Día del Presidente
|
||||
holiday.es-US3.date=20200217
|
||||
holiday.es-US3.date=20210215
|
||||
holiday.es-US4.name=Día del Patriota
|
||||
holiday.es-US4.date=20200420
|
||||
holiday.es-US4.date=20210419
|
||||
holiday.es-US5.name=Día de los Caídos
|
||||
holiday.es-US5.date=20200525
|
||||
holiday.es-US5.date=20210531
|
||||
holiday.es-US6.name=Día de la Independiencia
|
||||
holiday.es-US6.date=20200704
|
||||
holiday.es-US6.date=20210704
|
||||
holiday.es-US7.name=Día del Trabajo
|
||||
holiday.es-US7.date=20200907
|
||||
holiday.es-US7.date=20210906
|
||||
holiday.es-US8.name=Día de Columbus
|
||||
holiday.es-US8.date=20201012
|
||||
holiday.es-US8.date=20211011
|
||||
holiday.es-US9.name=Día de los Veteranos
|
||||
holiday.es-US9.date=20201111
|
||||
holiday.es-US9.date=20211111
|
||||
holiday.es-US10.name=Día de Acción de Gracias
|
||||
holiday.es-US10.date=20201126
|
||||
holiday.es-US11.name=Día después de Acción de Gracias
|
||||
holiday.es-US11.date=20201127
|
||||
holiday.es-US12.name=Nochebuena
|
||||
holiday.es-US12.date=20201224
|
||||
holiday.es-US13.name=Navidad
|
||||
holiday.es-US13.date=20201225
|
||||
holiday.es-US14.name=Año Neuvo
|
||||
holiday.es-US14.date=20210101
|
||||
holiday.es-US15.name=Cumpleaños de Martin Luther King, Jr.
|
||||
holiday.es-US15.date=20210118
|
||||
holiday.es-US16.name=Día del Presidente
|
||||
holiday.es-US16.date=20210215
|
||||
holiday.es-US17.name=Día del Patriota
|
||||
holiday.es-US17.date=20210419
|
||||
holiday.es-US18.name=Día de los Caídos
|
||||
holiday.es-US18.date=20210531
|
||||
holiday.es-US19.name=Día de la Independiencia
|
||||
holiday.es-US19.date=20210704
|
||||
holiday.es-US20.name=Día del Trabajo
|
||||
holiday.es-US20.date=20210906
|
||||
holiday.es-US21.name=Día de Columbus
|
||||
holiday.es-US21.date=20211011
|
||||
holiday.es-US22.name=Día de los Veteranos
|
||||
holiday.es-US22.date=20211111
|
||||
holiday.es-US23.name=Día de Acción de Gracias
|
||||
holiday.es-US23.date=20211125
|
||||
holiday.es-US10.date=20211125
|
||||
holiday.es-US11.name=Navidad
|
||||
holiday.es-US11.date=20211225
|
||||
holiday.es-US12.name=Año Neuvo
|
||||
holiday.es-US12.date=20220101
|
||||
holiday.es-US13.name=Cumpleaños de Martin Luther King, Jr.
|
||||
holiday.es-US13.date=20220117
|
||||
holiday.es-US14.name=Día del Presidente
|
||||
holiday.es-US14.date=20220221
|
||||
holiday.es-US15.name=Día del Patriota
|
||||
holiday.es-US15.date=20220418
|
||||
holiday.es-US16.name=Día de los Caídos
|
||||
holiday.es-US16.date=20220530
|
||||
holiday.es-US17.name=Día de la Independiencia
|
||||
holiday.es-US17.date=20220704
|
||||
holiday.es-US18.name=Día del Trabajo
|
||||
holiday.es-US18.date=20220905
|
||||
holiday.es-US19.name=Día de Columbus
|
||||
holiday.es-US19.date=20221010
|
||||
holiday.es-US20.name=Día de los Veteranos
|
||||
holiday.es-US20.date=20221111
|
||||
holiday.es-US21.name=Día de Acción de Gracias
|
||||
holiday.es-US21.date=20221124
|
||||
holiday.es-US22.name=Día después de Acción de Gracias
|
||||
holiday.es-US22.date=20221125
|
||||
holiday.es-US23.name=Nochebuena
|
||||
holiday.es-US23.date=20221224
|
||||
holiday.es-US24.name=Navidad
|
||||
holiday.es-US24.date=20211225
|
||||
holiday.es-US24.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/fi-FI/2020.json
|
||||
# https://holidata.net/fi-FI/2021.json
|
||||
# https://holidata.net/fi-FI/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,54 +28,54 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.fi-FI1.name=Uudenvuodenpäivä
|
||||
holiday.fi-FI1.date=20200101
|
||||
holiday.fi-FI1.date=20210101
|
||||
holiday.fi-FI2.name=Loppiainen
|
||||
holiday.fi-FI2.date=20200106
|
||||
holiday.fi-FI2.date=20210106
|
||||
holiday.fi-FI3.name=Pitkäperjantai
|
||||
holiday.fi-FI3.date=20200410
|
||||
holiday.fi-FI3.date=20210402
|
||||
holiday.fi-FI4.name=Pääsiäispäivä
|
||||
holiday.fi-FI4.date=20200412
|
||||
holiday.fi-FI4.date=20210404
|
||||
holiday.fi-FI5.name=2. pääsiäispäivä
|
||||
holiday.fi-FI5.date=20200413
|
||||
holiday.fi-FI5.date=20210405
|
||||
holiday.fi-FI6.name=Vappu
|
||||
holiday.fi-FI6.date=20200501
|
||||
holiday.fi-FI6.date=20210501
|
||||
holiday.fi-FI7.name=Helatorstai
|
||||
holiday.fi-FI7.date=20200521
|
||||
holiday.fi-FI7.date=20210513
|
||||
holiday.fi-FI8.name=Helluntaipäivä
|
||||
holiday.fi-FI8.date=20200531
|
||||
holiday.fi-FI8.date=20210523
|
||||
holiday.fi-FI9.name=Juhannuspäivä
|
||||
holiday.fi-FI9.date=20200620
|
||||
holiday.fi-FI9.date=20210626
|
||||
holiday.fi-FI10.name=Pyhäinpäivä
|
||||
holiday.fi-FI10.date=20201031
|
||||
holiday.fi-FI10.date=20211106
|
||||
holiday.fi-FI11.name=Itsenäisyyspäivä
|
||||
holiday.fi-FI11.date=20201206
|
||||
holiday.fi-FI11.date=20211206
|
||||
holiday.fi-FI12.name=Joulupäivä
|
||||
holiday.fi-FI12.date=20201225
|
||||
holiday.fi-FI12.date=20211225
|
||||
holiday.fi-FI13.name=Tapaninpäivä
|
||||
holiday.fi-FI13.date=20201226
|
||||
holiday.fi-FI13.date=20211226
|
||||
holiday.fi-FI14.name=Uudenvuodenpäivä
|
||||
holiday.fi-FI14.date=20210101
|
||||
holiday.fi-FI14.date=20220101
|
||||
holiday.fi-FI15.name=Loppiainen
|
||||
holiday.fi-FI15.date=20210106
|
||||
holiday.fi-FI15.date=20220106
|
||||
holiday.fi-FI16.name=Pitkäperjantai
|
||||
holiday.fi-FI16.date=20210402
|
||||
holiday.fi-FI16.date=20220415
|
||||
holiday.fi-FI17.name=Pääsiäispäivä
|
||||
holiday.fi-FI17.date=20210404
|
||||
holiday.fi-FI17.date=20220417
|
||||
holiday.fi-FI18.name=2. pääsiäispäivä
|
||||
holiday.fi-FI18.date=20210405
|
||||
holiday.fi-FI18.date=20220418
|
||||
holiday.fi-FI19.name=Vappu
|
||||
holiday.fi-FI19.date=20210501
|
||||
holiday.fi-FI19.date=20220501
|
||||
holiday.fi-FI20.name=Helatorstai
|
||||
holiday.fi-FI20.date=20210513
|
||||
holiday.fi-FI20.date=20220526
|
||||
holiday.fi-FI21.name=Helluntaipäivä
|
||||
holiday.fi-FI21.date=20210523
|
||||
holiday.fi-FI21.date=20220605
|
||||
holiday.fi-FI22.name=Juhannuspäivä
|
||||
holiday.fi-FI22.date=20210626
|
||||
holiday.fi-FI22.date=20220625
|
||||
holiday.fi-FI23.name=Pyhäinpäivä
|
||||
holiday.fi-FI23.date=20211106
|
||||
holiday.fi-FI23.date=20221105
|
||||
holiday.fi-FI24.name=Itsenäisyyspäivä
|
||||
holiday.fi-FI24.date=20211206
|
||||
holiday.fi-FI24.date=20221206
|
||||
holiday.fi-FI25.name=Joulupäivä
|
||||
holiday.fi-FI25.date=20211225
|
||||
holiday.fi-FI25.date=20221225
|
||||
holiday.fi-FI26.name=Tapaninpäivä
|
||||
holiday.fi-FI26.date=20211226
|
||||
holiday.fi-FI26.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/fr-BE/2020.json
|
||||
# https://holidata.net/fr-BE/2021.json
|
||||
# https://holidata.net/fr-BE/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.fr-BE1.name=Nouvel An
|
||||
holiday.fr-BE1.date=20200101
|
||||
holiday.fr-BE1.date=20210101
|
||||
holiday.fr-BE2.name=Pâques
|
||||
holiday.fr-BE2.date=20200412
|
||||
holiday.fr-BE2.date=20210404
|
||||
holiday.fr-BE3.name=Lundi de Pâques
|
||||
holiday.fr-BE3.date=20200413
|
||||
holiday.fr-BE3.date=20210405
|
||||
holiday.fr-BE4.name=Fête du Travail
|
||||
holiday.fr-BE4.date=20200501
|
||||
holiday.fr-BE4.date=20210501
|
||||
holiday.fr-BE5.name=Ascension
|
||||
holiday.fr-BE5.date=20200521
|
||||
holiday.fr-BE5.date=20210513
|
||||
holiday.fr-BE6.name=Pentecôte
|
||||
holiday.fr-BE6.date=20200531
|
||||
holiday.fr-BE6.date=20210523
|
||||
holiday.fr-BE7.name=Lundi de Pentecôte
|
||||
holiday.fr-BE7.date=20200601
|
||||
holiday.fr-BE7.date=20210524
|
||||
holiday.fr-BE8.name=Fête nationale
|
||||
holiday.fr-BE8.date=20200721
|
||||
holiday.fr-BE8.date=20210721
|
||||
holiday.fr-BE9.name=Assomption
|
||||
holiday.fr-BE9.date=20200815
|
||||
holiday.fr-BE9.date=20210815
|
||||
holiday.fr-BE10.name=Toussaint
|
||||
holiday.fr-BE10.date=20201101
|
||||
holiday.fr-BE10.date=20211101
|
||||
holiday.fr-BE11.name=Jour de l'armistice
|
||||
holiday.fr-BE11.date=20201111
|
||||
holiday.fr-BE11.date=20211111
|
||||
holiday.fr-BE12.name=Noël
|
||||
holiday.fr-BE12.date=20201225
|
||||
holiday.fr-BE12.date=20211225
|
||||
holiday.fr-BE13.name=Nouvel An
|
||||
holiday.fr-BE13.date=20210101
|
||||
holiday.fr-BE13.date=20220101
|
||||
holiday.fr-BE14.name=Pâques
|
||||
holiday.fr-BE14.date=20210404
|
||||
holiday.fr-BE14.date=20220417
|
||||
holiday.fr-BE15.name=Lundi de Pâques
|
||||
holiday.fr-BE15.date=20210405
|
||||
holiday.fr-BE15.date=20220418
|
||||
holiday.fr-BE16.name=Fête du Travail
|
||||
holiday.fr-BE16.date=20210501
|
||||
holiday.fr-BE16.date=20220501
|
||||
holiday.fr-BE17.name=Ascension
|
||||
holiday.fr-BE17.date=20210513
|
||||
holiday.fr-BE17.date=20220526
|
||||
holiday.fr-BE18.name=Pentecôte
|
||||
holiday.fr-BE18.date=20210523
|
||||
holiday.fr-BE18.date=20220605
|
||||
holiday.fr-BE19.name=Lundi de Pentecôte
|
||||
holiday.fr-BE19.date=20210524
|
||||
holiday.fr-BE19.date=20220606
|
||||
holiday.fr-BE20.name=Fête nationale
|
||||
holiday.fr-BE20.date=20210721
|
||||
holiday.fr-BE20.date=20220721
|
||||
holiday.fr-BE21.name=Assomption
|
||||
holiday.fr-BE21.date=20210815
|
||||
holiday.fr-BE21.date=20220815
|
||||
holiday.fr-BE22.name=Toussaint
|
||||
holiday.fr-BE22.date=20211101
|
||||
holiday.fr-BE22.date=20221101
|
||||
holiday.fr-BE23.name=Jour de l'armistice
|
||||
holiday.fr-BE23.date=20211111
|
||||
holiday.fr-BE23.date=20221111
|
||||
holiday.fr-BE24.name=Noël
|
||||
holiday.fr-BE24.date=20211225
|
||||
holiday.fr-BE24.date=20221225
|
||||
|
|
109
doc/rc/holidays.fr-CA.rc
Normal file
109
doc/rc/holidays.fr-CA.rc
Normal file
|
@ -0,0 +1,109 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/fr-CA/2021.json
|
||||
# https://holidata.net/fr-CA/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
#
|
||||
# https://www.opensource.org/licenses/mit-license.php
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
holiday.fr-CA1.name=Jour de l'An
|
||||
holiday.fr-CA1.date=20210101
|
||||
holiday.fr-CA2.name=Fête de la Famille
|
||||
holiday.fr-CA2.date=20210215
|
||||
holiday.fr-CA3.name=Journée Louis Riel
|
||||
holiday.fr-CA3.date=20210215
|
||||
holiday.fr-CA4.name=Fête des Insulaires
|
||||
holiday.fr-CA4.date=20210215
|
||||
holiday.fr-CA5.name=Vendredi Saint
|
||||
holiday.fr-CA5.date=20210402
|
||||
holiday.fr-CA6.name=Lundi de Pâques
|
||||
holiday.fr-CA6.date=20210405
|
||||
holiday.fr-CA7.name=Fête de la Reine Victoria
|
||||
holiday.fr-CA7.date=20210524
|
||||
holiday.fr-CA8.name=Journée Nationale des Patriotes
|
||||
holiday.fr-CA8.date=20210524
|
||||
holiday.fr-CA9.name=Fête Nationale
|
||||
holiday.fr-CA9.date=20210624
|
||||
holiday.fr-CA10.name=Fête du Canada
|
||||
holiday.fr-CA10.date=20210701
|
||||
holiday.fr-CA11.name=Premier lundi d'août
|
||||
holiday.fr-CA11.date=20210802
|
||||
holiday.fr-CA12.name=Fête du Patrimoine
|
||||
holiday.fr-CA12.date=20210802
|
||||
holiday.fr-CA13.name=Fête de la Saskatchewan
|
||||
holiday.fr-CA13.date=20210802
|
||||
holiday.fr-CA14.name=Jour de la Fondation
|
||||
holiday.fr-CA14.date=20210802
|
||||
holiday.fr-CA15.name=Jour du Nouveau-Brunswick
|
||||
holiday.fr-CA15.date=20210802
|
||||
holiday.fr-CA16.name=Fête du Travail
|
||||
holiday.fr-CA16.date=20210906
|
||||
holiday.fr-CA17.name=Jour de l'Action de grâce
|
||||
holiday.fr-CA17.date=20211011
|
||||
holiday.fr-CA18.name=Jour du Souvenir
|
||||
holiday.fr-CA18.date=20211111
|
||||
holiday.fr-CA19.name=Jour de Noël
|
||||
holiday.fr-CA19.date=20211225
|
||||
holiday.fr-CA20.name=Lendemain de Noël
|
||||
holiday.fr-CA20.date=20211226
|
||||
holiday.fr-CA21.name=Jour de l'An
|
||||
holiday.fr-CA21.date=20220101
|
||||
holiday.fr-CA22.name=Fête de la Famille
|
||||
holiday.fr-CA22.date=20220221
|
||||
holiday.fr-CA23.name=Journée Louis Riel
|
||||
holiday.fr-CA23.date=20220221
|
||||
holiday.fr-CA24.name=Fête des Insulaires
|
||||
holiday.fr-CA24.date=20220221
|
||||
holiday.fr-CA25.name=Vendredi Saint
|
||||
holiday.fr-CA25.date=20220415
|
||||
holiday.fr-CA26.name=Lundi de Pâques
|
||||
holiday.fr-CA26.date=20220418
|
||||
holiday.fr-CA27.name=Fête de la Reine Victoria
|
||||
holiday.fr-CA27.date=20220523
|
||||
holiday.fr-CA28.name=Journée Nationale des Patriotes
|
||||
holiday.fr-CA28.date=20220523
|
||||
holiday.fr-CA29.name=Fête Nationale
|
||||
holiday.fr-CA29.date=20220624
|
||||
holiday.fr-CA30.name=Fête du Canada
|
||||
holiday.fr-CA30.date=20220701
|
||||
holiday.fr-CA31.name=Premier lundi d'août
|
||||
holiday.fr-CA31.date=20220801
|
||||
holiday.fr-CA32.name=Fête du Patrimoine
|
||||
holiday.fr-CA32.date=20220801
|
||||
holiday.fr-CA33.name=Fête de la Saskatchewan
|
||||
holiday.fr-CA33.date=20220801
|
||||
holiday.fr-CA34.name=Jour de la Fondation
|
||||
holiday.fr-CA34.date=20220801
|
||||
holiday.fr-CA35.name=Jour du Nouveau-Brunswick
|
||||
holiday.fr-CA35.date=20220801
|
||||
holiday.fr-CA36.name=Fête du Travail
|
||||
holiday.fr-CA36.date=20220905
|
||||
holiday.fr-CA37.name=Jour de l'Action de grâce
|
||||
holiday.fr-CA37.date=20221010
|
||||
holiday.fr-CA38.name=Jour du Souvenir
|
||||
holiday.fr-CA38.date=20221111
|
||||
holiday.fr-CA39.name=Jour de Noël
|
||||
holiday.fr-CA39.date=20221225
|
||||
holiday.fr-CA40.name=Lendemain de Noël
|
||||
holiday.fr-CA40.date=20221226
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/fr-FR/2020.json
|
||||
# https://holidata.net/fr-FR/2021.json
|
||||
# https://holidata.net/fr-FR/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.fr-FR1.name=Jour de l'an
|
||||
holiday.fr-FR1.date=20200101
|
||||
holiday.fr-FR1.date=20210101
|
||||
holiday.fr-FR2.name=Lundi de Pâques
|
||||
holiday.fr-FR2.date=20200413
|
||||
holiday.fr-FR2.date=20210405
|
||||
holiday.fr-FR3.name=Fête du premier mai
|
||||
holiday.fr-FR3.date=20200501
|
||||
holiday.fr-FR3.date=20210501
|
||||
holiday.fr-FR4.name=Armistice 1945
|
||||
holiday.fr-FR4.date=20200508
|
||||
holiday.fr-FR5.name=Ascencion
|
||||
holiday.fr-FR5.date=20200521
|
||||
holiday.fr-FR4.date=20210508
|
||||
holiday.fr-FR5.name=Ascension
|
||||
holiday.fr-FR5.date=20210513
|
||||
holiday.fr-FR6.name=Pentecôte
|
||||
holiday.fr-FR6.date=20200531
|
||||
holiday.fr-FR6.date=20210523
|
||||
holiday.fr-FR7.name=Lundi de Pentecôte
|
||||
holiday.fr-FR7.date=20200601
|
||||
holiday.fr-FR7.date=20210524
|
||||
holiday.fr-FR8.name=Fête nationale
|
||||
holiday.fr-FR8.date=20200714
|
||||
holiday.fr-FR8.date=20210714
|
||||
holiday.fr-FR9.name=Assomption
|
||||
holiday.fr-FR9.date=20200815
|
||||
holiday.fr-FR9.date=20210815
|
||||
holiday.fr-FR10.name=Toussaint
|
||||
holiday.fr-FR10.date=20201101
|
||||
holiday.fr-FR10.date=20211101
|
||||
holiday.fr-FR11.name=Armistice 1918
|
||||
holiday.fr-FR11.date=20201111
|
||||
holiday.fr-FR11.date=20211111
|
||||
holiday.fr-FR12.name=Noël
|
||||
holiday.fr-FR12.date=20201225
|
||||
holiday.fr-FR12.date=20211225
|
||||
holiday.fr-FR13.name=Jour de l'an
|
||||
holiday.fr-FR13.date=20210101
|
||||
holiday.fr-FR13.date=20220101
|
||||
holiday.fr-FR14.name=Lundi de Pâques
|
||||
holiday.fr-FR14.date=20210405
|
||||
holiday.fr-FR14.date=20220418
|
||||
holiday.fr-FR15.name=Fête du premier mai
|
||||
holiday.fr-FR15.date=20210501
|
||||
holiday.fr-FR15.date=20220501
|
||||
holiday.fr-FR16.name=Armistice 1945
|
||||
holiday.fr-FR16.date=20210508
|
||||
holiday.fr-FR17.name=Ascencion
|
||||
holiday.fr-FR17.date=20210513
|
||||
holiday.fr-FR16.date=20220508
|
||||
holiday.fr-FR17.name=Ascension
|
||||
holiday.fr-FR17.date=20220526
|
||||
holiday.fr-FR18.name=Pentecôte
|
||||
holiday.fr-FR18.date=20210523
|
||||
holiday.fr-FR18.date=20220605
|
||||
holiday.fr-FR19.name=Lundi de Pentecôte
|
||||
holiday.fr-FR19.date=20210524
|
||||
holiday.fr-FR19.date=20220606
|
||||
holiday.fr-FR20.name=Fête nationale
|
||||
holiday.fr-FR20.date=20210714
|
||||
holiday.fr-FR20.date=20220714
|
||||
holiday.fr-FR21.name=Assomption
|
||||
holiday.fr-FR21.date=20210815
|
||||
holiday.fr-FR21.date=20220815
|
||||
holiday.fr-FR22.name=Toussaint
|
||||
holiday.fr-FR22.date=20211101
|
||||
holiday.fr-FR22.date=20221101
|
||||
holiday.fr-FR23.name=Armistice 1918
|
||||
holiday.fr-FR23.date=20211111
|
||||
holiday.fr-FR23.date=20221111
|
||||
holiday.fr-FR24.name=Noël
|
||||
holiday.fr-FR24.date=20211225
|
||||
holiday.fr-FR24.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/hr-HR/2020.json
|
||||
# https://holidata.net/hr-HR/2021.json
|
||||
# https://holidata.net/hr-HR/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,62 +28,60 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.hr-HR1.name=Nova Godina
|
||||
holiday.hr-HR1.date=20200101
|
||||
holiday.hr-HR1.date=20210101
|
||||
holiday.hr-HR2.name=Bogojavljenje
|
||||
holiday.hr-HR2.date=20200106
|
||||
holiday.hr-HR2.date=20210106
|
||||
holiday.hr-HR3.name=Uskrs
|
||||
holiday.hr-HR3.date=20200412
|
||||
holiday.hr-HR3.date=20210404
|
||||
holiday.hr-HR4.name=Uskrsni ponedjeljak
|
||||
holiday.hr-HR4.date=20200413
|
||||
holiday.hr-HR4.date=20210405
|
||||
holiday.hr-HR5.name=Praznik rada
|
||||
holiday.hr-HR5.date=20200501
|
||||
holiday.hr-HR5.date=20210501
|
||||
holiday.hr-HR6.name=Tijelovo
|
||||
holiday.hr-HR6.date=20200611
|
||||
holiday.hr-HR6.date=20210603
|
||||
holiday.hr-HR7.name=Dan antifašističke borbe
|
||||
holiday.hr-HR7.date=20200622
|
||||
holiday.hr-HR7.date=20210622
|
||||
holiday.hr-HR8.name=Dan državnosti
|
||||
holiday.hr-HR8.date=20200625
|
||||
holiday.hr-HR8.date=20210625
|
||||
holiday.hr-HR9.name=Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja
|
||||
holiday.hr-HR9.date=20200805
|
||||
holiday.hr-HR9.date=20210805
|
||||
holiday.hr-HR10.name=Velika Gospa
|
||||
holiday.hr-HR10.date=20200815
|
||||
holiday.hr-HR10.date=20210815
|
||||
holiday.hr-HR11.name=Dan neovisnosti
|
||||
holiday.hr-HR11.date=20201008
|
||||
holiday.hr-HR11.date=20211008
|
||||
holiday.hr-HR12.name=Svi sveti
|
||||
holiday.hr-HR12.date=20201101
|
||||
holiday.hr-HR12.date=20211101
|
||||
holiday.hr-HR13.name=Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje
|
||||
holiday.hr-HR13.date=20201118
|
||||
holiday.hr-HR13.date=20211118
|
||||
holiday.hr-HR14.name=Božić
|
||||
holiday.hr-HR14.date=20201225
|
||||
holiday.hr-HR14.date=20211225
|
||||
holiday.hr-HR15.name=Sveti Stjepan
|
||||
holiday.hr-HR15.date=20201226
|
||||
holiday.hr-HR15.date=20211226
|
||||
holiday.hr-HR16.name=Nova Godina
|
||||
holiday.hr-HR16.date=20210101
|
||||
holiday.hr-HR17.name=Bogojavljenje
|
||||
holiday.hr-HR17.date=20210106
|
||||
holiday.hr-HR16.date=20220101
|
||||
holiday.hr-HR17.name=Sveta tri kralja
|
||||
holiday.hr-HR17.date=20220106
|
||||
holiday.hr-HR18.name=Uskrs
|
||||
holiday.hr-HR18.date=20210404
|
||||
holiday.hr-HR19.name=Uskrsni ponedjeljak
|
||||
holiday.hr-HR19.date=20210405
|
||||
holiday.hr-HR18.date=20220417
|
||||
holiday.hr-HR19.name=Uskršnji ponedjeljak
|
||||
holiday.hr-HR19.date=20220418
|
||||
holiday.hr-HR20.name=Praznik rada
|
||||
holiday.hr-HR20.date=20210501
|
||||
holiday.hr-HR21.name=Tijelovo
|
||||
holiday.hr-HR21.date=20210603
|
||||
holiday.hr-HR22.name=Dan antifašističke borbe
|
||||
holiday.hr-HR22.date=20210622
|
||||
holiday.hr-HR23.name=Dan državnosti
|
||||
holiday.hr-HR23.date=20210625
|
||||
holiday.hr-HR20.date=20220501
|
||||
holiday.hr-HR21.name=Dan državnosti
|
||||
holiday.hr-HR21.date=20220530
|
||||
holiday.hr-HR22.name=Tijelovo
|
||||
holiday.hr-HR22.date=20220616
|
||||
holiday.hr-HR23.name=Dan antifašističke borbe
|
||||
holiday.hr-HR23.date=20220622
|
||||
holiday.hr-HR24.name=Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja
|
||||
holiday.hr-HR24.date=20210805
|
||||
holiday.hr-HR24.date=20220805
|
||||
holiday.hr-HR25.name=Velika Gospa
|
||||
holiday.hr-HR25.date=20210815
|
||||
holiday.hr-HR26.name=Dan neovisnosti
|
||||
holiday.hr-HR26.date=20211008
|
||||
holiday.hr-HR27.name=Svi sveti
|
||||
holiday.hr-HR27.date=20211101
|
||||
holiday.hr-HR28.name=Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje
|
||||
holiday.hr-HR28.date=20211118
|
||||
holiday.hr-HR29.name=Božić
|
||||
holiday.hr-HR29.date=20211225
|
||||
holiday.hr-HR30.name=Sveti Stjepan
|
||||
holiday.hr-HR30.date=20211226
|
||||
holiday.hr-HR25.date=20220815
|
||||
holiday.hr-HR26.name=Dan svih svetih
|
||||
holiday.hr-HR26.date=20221101
|
||||
holiday.hr-HR27.name=Dan sjećanja na žrtve Domovinskog rata i Dan sjećanja na žrtvu Vukovara i Škabrnje
|
||||
holiday.hr-HR27.date=20221118
|
||||
holiday.hr-HR28.name=Božić
|
||||
holiday.hr-HR28.date=20221225
|
||||
holiday.hr-HR29.name=Sveti Stjepan
|
||||
holiday.hr-HR29.date=20221226
|
||||
|
|
83
doc/rc/holidays.hu-HU.rc
Normal file
83
doc/rc/holidays.hu-HU.rc
Normal file
|
@ -0,0 +1,83 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/hu-HU/2021.json
|
||||
# https://holidata.net/hu-HU/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
#
|
||||
# https://www.opensource.org/licenses/mit-license.php
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
holiday.hu-HU1.name=Újév
|
||||
holiday.hu-HU1.date=20210101
|
||||
holiday.hu-HU2.name=Az 1848-as forradalom ünnepe
|
||||
holiday.hu-HU2.date=20210315
|
||||
holiday.hu-HU3.name=Nagypéntek
|
||||
holiday.hu-HU3.date=20210402
|
||||
holiday.hu-HU4.name=Húsvét
|
||||
holiday.hu-HU4.date=20210404
|
||||
holiday.hu-HU5.name=Húsvéthétfő
|
||||
holiday.hu-HU5.date=20210405
|
||||
holiday.hu-HU6.name=A munka ünnepe
|
||||
holiday.hu-HU6.date=20210501
|
||||
holiday.hu-HU7.name=Pünkösd
|
||||
holiday.hu-HU7.date=20210523
|
||||
holiday.hu-HU8.name=Pünkösdhétfő
|
||||
holiday.hu-HU8.date=20210524
|
||||
holiday.hu-HU9.name=Az államalapítás ünnepe
|
||||
holiday.hu-HU9.date=20210820
|
||||
holiday.hu-HU10.name=Az 1956-os forradalom ünnepe
|
||||
holiday.hu-HU10.date=20211023
|
||||
holiday.hu-HU11.name=Mindenszentek
|
||||
holiday.hu-HU11.date=20211101
|
||||
holiday.hu-HU12.name=Munkaszüneti Nap
|
||||
holiday.hu-HU12.date=20211224
|
||||
holiday.hu-HU13.name=Karácsony
|
||||
holiday.hu-HU13.date=20211225
|
||||
holiday.hu-HU14.name=Karácsony
|
||||
holiday.hu-HU14.date=20211226
|
||||
holiday.hu-HU15.name=Újév
|
||||
holiday.hu-HU15.date=20220101
|
||||
holiday.hu-HU16.name=Az 1848-as forradalom ünnepe
|
||||
holiday.hu-HU16.date=20220315
|
||||
holiday.hu-HU17.name=Nagypéntek
|
||||
holiday.hu-HU17.date=20220415
|
||||
holiday.hu-HU18.name=Húsvét
|
||||
holiday.hu-HU18.date=20220417
|
||||
holiday.hu-HU19.name=Húsvéthétfő
|
||||
holiday.hu-HU19.date=20220418
|
||||
holiday.hu-HU20.name=A munka ünnepe
|
||||
holiday.hu-HU20.date=20220501
|
||||
holiday.hu-HU21.name=Pünkösd
|
||||
holiday.hu-HU21.date=20220605
|
||||
holiday.hu-HU22.name=Pünkösdhétfő
|
||||
holiday.hu-HU22.date=20220606
|
||||
holiday.hu-HU23.name=Az államalapítás ünnepe
|
||||
holiday.hu-HU23.date=20220820
|
||||
holiday.hu-HU24.name=Az 1956-os forradalom ünnepe
|
||||
holiday.hu-HU24.date=20221023
|
||||
holiday.hu-HU25.name=Mindenszentek
|
||||
holiday.hu-HU25.date=20221101
|
||||
holiday.hu-HU26.name=Karácsony
|
||||
holiday.hu-HU26.date=20221225
|
||||
holiday.hu-HU27.name=Karácsony
|
||||
holiday.hu-HU27.date=20221226
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/is-IS/2020.json
|
||||
# https://holidata.net/is-IS/2021.json
|
||||
# https://holidata.net/is-IS/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,66 +28,66 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.is-IS1.name=Nýársdagur
|
||||
holiday.is-IS1.date=20200101
|
||||
holiday.is-IS1.date=20210101
|
||||
holiday.is-IS2.name=Skírdagur
|
||||
holiday.is-IS2.date=20200409
|
||||
holiday.is-IS2.date=20210401
|
||||
holiday.is-IS3.name=Föstudagurinn langi
|
||||
holiday.is-IS3.date=20200410
|
||||
holiday.is-IS3.date=20210402
|
||||
holiday.is-IS4.name=Páskadagur
|
||||
holiday.is-IS4.date=20200412
|
||||
holiday.is-IS4.date=20210404
|
||||
holiday.is-IS5.name=Annar dagur páska
|
||||
holiday.is-IS5.date=20200413
|
||||
holiday.is-IS5.date=20210405
|
||||
holiday.is-IS6.name=Sumardagurinn fyrsti
|
||||
holiday.is-IS6.date=20200423
|
||||
holiday.is-IS6.date=20210422
|
||||
holiday.is-IS7.name=Verkalýðsdagurinn
|
||||
holiday.is-IS7.date=20200501
|
||||
holiday.is-IS7.date=20210501
|
||||
holiday.is-IS8.name=Uppstigningardagur
|
||||
holiday.is-IS8.date=20200521
|
||||
holiday.is-IS8.date=20210513
|
||||
holiday.is-IS9.name=Hvítasunnudagur
|
||||
holiday.is-IS9.date=20200531
|
||||
holiday.is-IS9.date=20210523
|
||||
holiday.is-IS10.name=Annar dagur hvítasunnu
|
||||
holiday.is-IS10.date=20200601
|
||||
holiday.is-IS10.date=20210524
|
||||
holiday.is-IS11.name=Þjóðhátíðardagurinn
|
||||
holiday.is-IS11.date=20200617
|
||||
holiday.is-IS11.date=20210617
|
||||
holiday.is-IS12.name=Frídagur verslunarmanna
|
||||
holiday.is-IS12.date=20200803
|
||||
holiday.is-IS12.date=20210802
|
||||
holiday.is-IS13.name=Aðfangadagur jóla
|
||||
holiday.is-IS13.date=20201224
|
||||
holiday.is-IS13.date=20211224
|
||||
holiday.is-IS14.name=Jóladagur
|
||||
holiday.is-IS14.date=20201225
|
||||
holiday.is-IS14.date=20211225
|
||||
holiday.is-IS15.name=Annar dagur jóla
|
||||
holiday.is-IS15.date=20201226
|
||||
holiday.is-IS15.date=20211226
|
||||
holiday.is-IS16.name=Gamlársdagur
|
||||
holiday.is-IS16.date=20201231
|
||||
holiday.is-IS16.date=20211231
|
||||
holiday.is-IS17.name=Nýársdagur
|
||||
holiday.is-IS17.date=20210101
|
||||
holiday.is-IS17.date=20220101
|
||||
holiday.is-IS18.name=Skírdagur
|
||||
holiday.is-IS18.date=20210401
|
||||
holiday.is-IS18.date=20220414
|
||||
holiday.is-IS19.name=Föstudagurinn langi
|
||||
holiday.is-IS19.date=20210402
|
||||
holiday.is-IS19.date=20220415
|
||||
holiday.is-IS20.name=Páskadagur
|
||||
holiday.is-IS20.date=20210404
|
||||
holiday.is-IS20.date=20220417
|
||||
holiday.is-IS21.name=Annar dagur páska
|
||||
holiday.is-IS21.date=20210405
|
||||
holiday.is-IS21.date=20220418
|
||||
holiday.is-IS22.name=Sumardagurinn fyrsti
|
||||
holiday.is-IS22.date=20210422
|
||||
holiday.is-IS22.date=20220421
|
||||
holiday.is-IS23.name=Verkalýðsdagurinn
|
||||
holiday.is-IS23.date=20210501
|
||||
holiday.is-IS23.date=20220501
|
||||
holiday.is-IS24.name=Uppstigningardagur
|
||||
holiday.is-IS24.date=20210513
|
||||
holiday.is-IS24.date=20220526
|
||||
holiday.is-IS25.name=Hvítasunnudagur
|
||||
holiday.is-IS25.date=20210523
|
||||
holiday.is-IS25.date=20220605
|
||||
holiday.is-IS26.name=Annar dagur hvítasunnu
|
||||
holiday.is-IS26.date=20210524
|
||||
holiday.is-IS26.date=20220606
|
||||
holiday.is-IS27.name=Þjóðhátíðardagurinn
|
||||
holiday.is-IS27.date=20210617
|
||||
holiday.is-IS27.date=20220617
|
||||
holiday.is-IS28.name=Frídagur verslunarmanna
|
||||
holiday.is-IS28.date=20210802
|
||||
holiday.is-IS28.date=20220801
|
||||
holiday.is-IS29.name=Aðfangadagur jóla
|
||||
holiday.is-IS29.date=20211224
|
||||
holiday.is-IS29.date=20221224
|
||||
holiday.is-IS30.name=Jóladagur
|
||||
holiday.is-IS30.date=20211225
|
||||
holiday.is-IS30.date=20221225
|
||||
holiday.is-IS31.name=Annar dagur jóla
|
||||
holiday.is-IS31.date=20211226
|
||||
holiday.is-IS31.date=20221226
|
||||
holiday.is-IS32.name=Gamlársdagur
|
||||
holiday.is-IS32.date=20211231
|
||||
holiday.is-IS32.date=20221231
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/it-IT/2020.json
|
||||
# https://holidata.net/it-IT/2021.json
|
||||
# https://holidata.net/it-IT/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.it-IT1.name=Capodanno
|
||||
holiday.it-IT1.date=20200101
|
||||
holiday.it-IT1.date=20210101
|
||||
holiday.it-IT2.name=Epifania
|
||||
holiday.it-IT2.date=20200106
|
||||
holiday.it-IT2.date=20210106
|
||||
holiday.it-IT3.name=Pasqua
|
||||
holiday.it-IT3.date=20200412
|
||||
holiday.it-IT3.date=20210404
|
||||
holiday.it-IT4.name=Pasquetta
|
||||
holiday.it-IT4.date=20200413
|
||||
holiday.it-IT4.date=20210405
|
||||
holiday.it-IT5.name=Festa della liberazione
|
||||
holiday.it-IT5.date=20200425
|
||||
holiday.it-IT5.date=20210425
|
||||
holiday.it-IT6.name=Festa del lavoro
|
||||
holiday.it-IT6.date=20200501
|
||||
holiday.it-IT6.date=20210501
|
||||
holiday.it-IT7.name=Festa della repubblica
|
||||
holiday.it-IT7.date=20200602
|
||||
holiday.it-IT7.date=20210602
|
||||
holiday.it-IT8.name=Assunzione (ferragosto)
|
||||
holiday.it-IT8.date=20200815
|
||||
holiday.it-IT8.date=20210815
|
||||
holiday.it-IT9.name=Ognissanti
|
||||
holiday.it-IT9.date=20201101
|
||||
holiday.it-IT9.date=20211101
|
||||
holiday.it-IT10.name=Immacolata concezione
|
||||
holiday.it-IT10.date=20201208
|
||||
holiday.it-IT10.date=20211208
|
||||
holiday.it-IT11.name=Natale
|
||||
holiday.it-IT11.date=20201225
|
||||
holiday.it-IT11.date=20211225
|
||||
holiday.it-IT12.name=S.to Stefano
|
||||
holiday.it-IT12.date=20201226
|
||||
holiday.it-IT12.date=20211226
|
||||
holiday.it-IT13.name=Capodanno
|
||||
holiday.it-IT13.date=20210101
|
||||
holiday.it-IT13.date=20220101
|
||||
holiday.it-IT14.name=Epifania
|
||||
holiday.it-IT14.date=20210106
|
||||
holiday.it-IT14.date=20220106
|
||||
holiday.it-IT15.name=Pasqua
|
||||
holiday.it-IT15.date=20210404
|
||||
holiday.it-IT15.date=20220417
|
||||
holiday.it-IT16.name=Pasquetta
|
||||
holiday.it-IT16.date=20210405
|
||||
holiday.it-IT16.date=20220418
|
||||
holiday.it-IT17.name=Festa della liberazione
|
||||
holiday.it-IT17.date=20210425
|
||||
holiday.it-IT17.date=20220425
|
||||
holiday.it-IT18.name=Festa del lavoro
|
||||
holiday.it-IT18.date=20210501
|
||||
holiday.it-IT18.date=20220501
|
||||
holiday.it-IT19.name=Festa della repubblica
|
||||
holiday.it-IT19.date=20210602
|
||||
holiday.it-IT19.date=20220602
|
||||
holiday.it-IT20.name=Assunzione (ferragosto)
|
||||
holiday.it-IT20.date=20210815
|
||||
holiday.it-IT20.date=20220815
|
||||
holiday.it-IT21.name=Ognissanti
|
||||
holiday.it-IT21.date=20211101
|
||||
holiday.it-IT21.date=20221101
|
||||
holiday.it-IT22.name=Immacolata concezione
|
||||
holiday.it-IT22.date=20211208
|
||||
holiday.it-IT22.date=20221208
|
||||
holiday.it-IT23.name=Natale
|
||||
holiday.it-IT23.date=20211225
|
||||
holiday.it-IT23.date=20221225
|
||||
holiday.it-IT24.name=S.to Stefano
|
||||
holiday.it-IT24.date=20211226
|
||||
holiday.it-IT24.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/nb-NO/2020.json
|
||||
# https://holidata.net/nb-NO/2021.json
|
||||
# https://holidata.net/nb-NO/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,70 +28,70 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.nb-NO1.name=Nyttårsdag
|
||||
holiday.nb-NO1.date=20200101
|
||||
holiday.nb-NO1.date=20210101
|
||||
holiday.nb-NO2.name=Fastelavn
|
||||
holiday.nb-NO2.date=20200223
|
||||
holiday.nb-NO2.date=20210214
|
||||
holiday.nb-NO3.name=Palmesøndag
|
||||
holiday.nb-NO3.date=20200405
|
||||
holiday.nb-NO3.date=20210328
|
||||
holiday.nb-NO4.name=Skjærtorsdag
|
||||
holiday.nb-NO4.date=20200409
|
||||
holiday.nb-NO4.date=20210401
|
||||
holiday.nb-NO5.name=Langfredag
|
||||
holiday.nb-NO5.date=20200410
|
||||
holiday.nb-NO5.date=20210402
|
||||
holiday.nb-NO6.name=Påskedag
|
||||
holiday.nb-NO6.date=20200412
|
||||
holiday.nb-NO6.date=20210404
|
||||
holiday.nb-NO7.name=Påskedag
|
||||
holiday.nb-NO7.date=20200413
|
||||
holiday.nb-NO7.date=20210405
|
||||
holiday.nb-NO8.name=Offentlig Høytidsdag
|
||||
holiday.nb-NO8.date=20200501
|
||||
holiday.nb-NO8.date=20210501
|
||||
holiday.nb-NO9.name=Frigjøringsdag 1945
|
||||
holiday.nb-NO9.date=20200508
|
||||
holiday.nb-NO10.name=Grunnlovsdag
|
||||
holiday.nb-NO10.date=20200517
|
||||
holiday.nb-NO11.name=Kristi Himmelfartsdag
|
||||
holiday.nb-NO11.date=20200521
|
||||
holiday.nb-NO9.date=20210508
|
||||
holiday.nb-NO10.name=Kristi Himmelfartsdag
|
||||
holiday.nb-NO10.date=20210513
|
||||
holiday.nb-NO11.name=Grunnlovsdag
|
||||
holiday.nb-NO11.date=20210517
|
||||
holiday.nb-NO12.name=Pinsedag
|
||||
holiday.nb-NO12.date=20200531
|
||||
holiday.nb-NO12.date=20210523
|
||||
holiday.nb-NO13.name=Pinsedag
|
||||
holiday.nb-NO13.date=20200601
|
||||
holiday.nb-NO13.date=20210524
|
||||
holiday.nb-NO14.name=Julaften
|
||||
holiday.nb-NO14.date=20201224
|
||||
holiday.nb-NO14.date=20211224
|
||||
holiday.nb-NO15.name=Juledag
|
||||
holiday.nb-NO15.date=20201225
|
||||
holiday.nb-NO15.date=20211225
|
||||
holiday.nb-NO16.name=Juledag
|
||||
holiday.nb-NO16.date=20201226
|
||||
holiday.nb-NO16.date=20211226
|
||||
holiday.nb-NO17.name=Nyttårsaften
|
||||
holiday.nb-NO17.date=20201231
|
||||
holiday.nb-NO17.date=20211231
|
||||
holiday.nb-NO18.name=Nyttårsdag
|
||||
holiday.nb-NO18.date=20210101
|
||||
holiday.nb-NO18.date=20220101
|
||||
holiday.nb-NO19.name=Fastelavn
|
||||
holiday.nb-NO19.date=20210214
|
||||
holiday.nb-NO19.date=20220227
|
||||
holiday.nb-NO20.name=Palmesøndag
|
||||
holiday.nb-NO20.date=20210328
|
||||
holiday.nb-NO20.date=20220410
|
||||
holiday.nb-NO21.name=Skjærtorsdag
|
||||
holiday.nb-NO21.date=20210401
|
||||
holiday.nb-NO21.date=20220414
|
||||
holiday.nb-NO22.name=Langfredag
|
||||
holiday.nb-NO22.date=20210402
|
||||
holiday.nb-NO22.date=20220415
|
||||
holiday.nb-NO23.name=Påskedag
|
||||
holiday.nb-NO23.date=20210404
|
||||
holiday.nb-NO23.date=20220417
|
||||
holiday.nb-NO24.name=Påskedag
|
||||
holiday.nb-NO24.date=20210405
|
||||
holiday.nb-NO24.date=20220418
|
||||
holiday.nb-NO25.name=Offentlig Høytidsdag
|
||||
holiday.nb-NO25.date=20210501
|
||||
holiday.nb-NO25.date=20220501
|
||||
holiday.nb-NO26.name=Frigjøringsdag 1945
|
||||
holiday.nb-NO26.date=20210508
|
||||
holiday.nb-NO27.name=Kristi Himmelfartsdag
|
||||
holiday.nb-NO27.date=20210513
|
||||
holiday.nb-NO28.name=Grunnlovsdag
|
||||
holiday.nb-NO28.date=20210517
|
||||
holiday.nb-NO26.date=20220508
|
||||
holiday.nb-NO27.name=Grunnlovsdag
|
||||
holiday.nb-NO27.date=20220517
|
||||
holiday.nb-NO28.name=Kristi Himmelfartsdag
|
||||
holiday.nb-NO28.date=20220526
|
||||
holiday.nb-NO29.name=Pinsedag
|
||||
holiday.nb-NO29.date=20210523
|
||||
holiday.nb-NO29.date=20220605
|
||||
holiday.nb-NO30.name=Pinsedag
|
||||
holiday.nb-NO30.date=20210524
|
||||
holiday.nb-NO30.date=20220606
|
||||
holiday.nb-NO31.name=Julaften
|
||||
holiday.nb-NO31.date=20211224
|
||||
holiday.nb-NO31.date=20221224
|
||||
holiday.nb-NO32.name=Juledag
|
||||
holiday.nb-NO32.date=20211225
|
||||
holiday.nb-NO32.date=20221225
|
||||
holiday.nb-NO33.name=Juledag
|
||||
holiday.nb-NO33.date=20211226
|
||||
holiday.nb-NO33.date=20221226
|
||||
holiday.nb-NO34.name=Nyttårsaften
|
||||
holiday.nb-NO34.date=20211231
|
||||
holiday.nb-NO34.date=20221231
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/nl-BE/2020.json
|
||||
# https://holidata.net/nl-BE/2021.json
|
||||
# https://holidata.net/nl-BE/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,50 +28,50 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.nl-BE1.name=Nieuwjaar
|
||||
holiday.nl-BE1.date=20200101
|
||||
holiday.nl-BE1.date=20210101
|
||||
holiday.nl-BE2.name=Pasen
|
||||
holiday.nl-BE2.date=20200412
|
||||
holiday.nl-BE2.date=20210404
|
||||
holiday.nl-BE3.name=Paasmaandag
|
||||
holiday.nl-BE3.date=20200413
|
||||
holiday.nl-BE3.date=20210405
|
||||
holiday.nl-BE4.name=Dag van de arbeid
|
||||
holiday.nl-BE4.date=20200501
|
||||
holiday.nl-BE4.date=20210501
|
||||
holiday.nl-BE5.name=Onze Lieve Heer hemelvaart
|
||||
holiday.nl-BE5.date=20200521
|
||||
holiday.nl-BE5.date=20210513
|
||||
holiday.nl-BE6.name=Pinksteren
|
||||
holiday.nl-BE6.date=20200531
|
||||
holiday.nl-BE6.date=20210523
|
||||
holiday.nl-BE7.name=Pinkstermaandag
|
||||
holiday.nl-BE7.date=20200601
|
||||
holiday.nl-BE7.date=20210524
|
||||
holiday.nl-BE8.name=Nationale feestdag
|
||||
holiday.nl-BE8.date=20200721
|
||||
holiday.nl-BE8.date=20210721
|
||||
holiday.nl-BE9.name=Onze Lieve Vrouw hemelvaart
|
||||
holiday.nl-BE9.date=20200815
|
||||
holiday.nl-BE9.date=20210815
|
||||
holiday.nl-BE10.name=Allerheiligen
|
||||
holiday.nl-BE10.date=20201101
|
||||
holiday.nl-BE10.date=20211101
|
||||
holiday.nl-BE11.name=Wapenstilstand
|
||||
holiday.nl-BE11.date=20201111
|
||||
holiday.nl-BE11.date=20211111
|
||||
holiday.nl-BE12.name=Kerstmis
|
||||
holiday.nl-BE12.date=20201225
|
||||
holiday.nl-BE12.date=20211225
|
||||
holiday.nl-BE13.name=Nieuwjaar
|
||||
holiday.nl-BE13.date=20210101
|
||||
holiday.nl-BE13.date=20220101
|
||||
holiday.nl-BE14.name=Pasen
|
||||
holiday.nl-BE14.date=20210404
|
||||
holiday.nl-BE14.date=20220417
|
||||
holiday.nl-BE15.name=Paasmaandag
|
||||
holiday.nl-BE15.date=20210405
|
||||
holiday.nl-BE15.date=20220418
|
||||
holiday.nl-BE16.name=Dag van de arbeid
|
||||
holiday.nl-BE16.date=20210501
|
||||
holiday.nl-BE16.date=20220501
|
||||
holiday.nl-BE17.name=Onze Lieve Heer hemelvaart
|
||||
holiday.nl-BE17.date=20210513
|
||||
holiday.nl-BE17.date=20220526
|
||||
holiday.nl-BE18.name=Pinksteren
|
||||
holiday.nl-BE18.date=20210523
|
||||
holiday.nl-BE18.date=20220605
|
||||
holiday.nl-BE19.name=Pinkstermaandag
|
||||
holiday.nl-BE19.date=20210524
|
||||
holiday.nl-BE19.date=20220606
|
||||
holiday.nl-BE20.name=Nationale feestdag
|
||||
holiday.nl-BE20.date=20210721
|
||||
holiday.nl-BE20.date=20220721
|
||||
holiday.nl-BE21.name=Onze Lieve Vrouw hemelvaart
|
||||
holiday.nl-BE21.date=20210815
|
||||
holiday.nl-BE21.date=20220815
|
||||
holiday.nl-BE22.name=Allerheiligen
|
||||
holiday.nl-BE22.date=20211101
|
||||
holiday.nl-BE22.date=20221101
|
||||
holiday.nl-BE23.name=Wapenstilstand
|
||||
holiday.nl-BE23.date=20211111
|
||||
holiday.nl-BE23.date=20221111
|
||||
holiday.nl-BE24.name=Kerstmis
|
||||
holiday.nl-BE24.date=20211225
|
||||
holiday.nl-BE24.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/nl-NL/2020.json
|
||||
# https://holidata.net/nl-NL/2021.json
|
||||
# https://holidata.net/nl-NL/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,58 +28,58 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.nl-NL1.name=Nieuwjaarsdag
|
||||
holiday.nl-NL1.date=20200101
|
||||
holiday.nl-NL1.date=20210101
|
||||
holiday.nl-NL2.name=Goede Vrijdag
|
||||
holiday.nl-NL2.date=20200410
|
||||
holiday.nl-NL2.date=20210402
|
||||
holiday.nl-NL3.name=Eerste Paasdag
|
||||
holiday.nl-NL3.date=20200412
|
||||
holiday.nl-NL3.date=20210404
|
||||
holiday.nl-NL4.name=Tweede Paasdag
|
||||
holiday.nl-NL4.date=20200413
|
||||
holiday.nl-NL4.date=20210405
|
||||
holiday.nl-NL5.name=Koningsdag
|
||||
holiday.nl-NL5.date=20200427
|
||||
holiday.nl-NL5.date=20210427
|
||||
holiday.nl-NL6.name=Dodenherdenking
|
||||
holiday.nl-NL6.date=20200504
|
||||
holiday.nl-NL6.date=20210504
|
||||
holiday.nl-NL7.name=Bevrijdingsdag
|
||||
holiday.nl-NL7.date=20200505
|
||||
holiday.nl-NL7.date=20210505
|
||||
holiday.nl-NL8.name=Hemelvaartsdag
|
||||
holiday.nl-NL8.date=20200521
|
||||
holiday.nl-NL8.date=20210513
|
||||
holiday.nl-NL9.name=Eerste Pinksterdag
|
||||
holiday.nl-NL9.date=20200531
|
||||
holiday.nl-NL9.date=20210523
|
||||
holiday.nl-NL10.name=Tweede Pinksterdag
|
||||
holiday.nl-NL10.date=20200601
|
||||
holiday.nl-NL10.date=20210524
|
||||
holiday.nl-NL11.name=Sinterklaas
|
||||
holiday.nl-NL11.date=20201205
|
||||
holiday.nl-NL11.date=20211205
|
||||
holiday.nl-NL12.name=Koninkrijksdag
|
||||
holiday.nl-NL12.date=20201215
|
||||
holiday.nl-NL12.date=20211215
|
||||
holiday.nl-NL13.name=Eerste Kerstdag
|
||||
holiday.nl-NL13.date=20201225
|
||||
holiday.nl-NL13.date=20211225
|
||||
holiday.nl-NL14.name=Tweede Kerstdag
|
||||
holiday.nl-NL14.date=20201226
|
||||
holiday.nl-NL14.date=20211226
|
||||
holiday.nl-NL15.name=Nieuwjaarsdag
|
||||
holiday.nl-NL15.date=20210101
|
||||
holiday.nl-NL15.date=20220101
|
||||
holiday.nl-NL16.name=Goede Vrijdag
|
||||
holiday.nl-NL16.date=20210402
|
||||
holiday.nl-NL16.date=20220415
|
||||
holiday.nl-NL17.name=Eerste Paasdag
|
||||
holiday.nl-NL17.date=20210404
|
||||
holiday.nl-NL17.date=20220417
|
||||
holiday.nl-NL18.name=Tweede Paasdag
|
||||
holiday.nl-NL18.date=20210405
|
||||
holiday.nl-NL18.date=20220418
|
||||
holiday.nl-NL19.name=Koningsdag
|
||||
holiday.nl-NL19.date=20210427
|
||||
holiday.nl-NL19.date=20220427
|
||||
holiday.nl-NL20.name=Dodenherdenking
|
||||
holiday.nl-NL20.date=20210504
|
||||
holiday.nl-NL20.date=20220504
|
||||
holiday.nl-NL21.name=Bevrijdingsdag
|
||||
holiday.nl-NL21.date=20210505
|
||||
holiday.nl-NL21.date=20220505
|
||||
holiday.nl-NL22.name=Hemelvaartsdag
|
||||
holiday.nl-NL22.date=20210513
|
||||
holiday.nl-NL22.date=20220526
|
||||
holiday.nl-NL23.name=Eerste Pinksterdag
|
||||
holiday.nl-NL23.date=20210523
|
||||
holiday.nl-NL23.date=20220605
|
||||
holiday.nl-NL24.name=Tweede Pinksterdag
|
||||
holiday.nl-NL24.date=20210524
|
||||
holiday.nl-NL24.date=20220606
|
||||
holiday.nl-NL25.name=Sinterklaas
|
||||
holiday.nl-NL25.date=20211205
|
||||
holiday.nl-NL25.date=20221205
|
||||
holiday.nl-NL26.name=Koninkrijksdag
|
||||
holiday.nl-NL26.date=20211215
|
||||
holiday.nl-NL26.date=20221215
|
||||
holiday.nl-NL27.name=Eerste Kerstdag
|
||||
holiday.nl-NL27.date=20211225
|
||||
holiday.nl-NL27.date=20221225
|
||||
holiday.nl-NL28.name=Tweede Kerstdag
|
||||
holiday.nl-NL28.date=20211226
|
||||
holiday.nl-NL28.date=20221226
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/pl-PL/2020.json
|
||||
# https://holidata.net/pl-PL/2021.json
|
||||
# https://holidata.net/pl-PL/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,54 +28,54 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.pl-PL1.name=Nowy Rok
|
||||
holiday.pl-PL1.date=20200101
|
||||
holiday.pl-PL1.date=20210101
|
||||
holiday.pl-PL2.name=Trzech Króli
|
||||
holiday.pl-PL2.date=20200106
|
||||
holiday.pl-PL2.date=20210106
|
||||
holiday.pl-PL3.name=Wielkanoc
|
||||
holiday.pl-PL3.date=20200412
|
||||
holiday.pl-PL3.date=20210404
|
||||
holiday.pl-PL4.name=Poniedziałek Wielkanocny
|
||||
holiday.pl-PL4.date=20200413
|
||||
holiday.pl-PL4.date=20210405
|
||||
holiday.pl-PL5.name=Święto Pracy
|
||||
holiday.pl-PL5.date=20200501
|
||||
holiday.pl-PL5.date=20210501
|
||||
holiday.pl-PL6.name=Święto Konstytucji Trzeciego Maja
|
||||
holiday.pl-PL6.date=20200503
|
||||
holiday.pl-PL6.date=20210503
|
||||
holiday.pl-PL7.name=Zielone Świątki
|
||||
holiday.pl-PL7.date=20200531
|
||||
holiday.pl-PL7.date=20210523
|
||||
holiday.pl-PL8.name=Boże Ciało
|
||||
holiday.pl-PL8.date=20200611
|
||||
holiday.pl-PL8.date=20210603
|
||||
holiday.pl-PL9.name=Wniebowzięcie Najświętszej Maryi Panny
|
||||
holiday.pl-PL9.date=20200815
|
||||
holiday.pl-PL9.date=20210815
|
||||
holiday.pl-PL10.name=Wszystkich Świętych
|
||||
holiday.pl-PL10.date=20201101
|
||||
holiday.pl-PL10.date=20211101
|
||||
holiday.pl-PL11.name=Narodowe Święto Niepodległości
|
||||
holiday.pl-PL11.date=20201111
|
||||
holiday.pl-PL11.date=20211111
|
||||
holiday.pl-PL12.name=Boże Narodzenie (pierwszy dzień)
|
||||
holiday.pl-PL12.date=20201225
|
||||
holiday.pl-PL12.date=20211225
|
||||
holiday.pl-PL13.name=Boże Narodzenie (drugi dzień)
|
||||
holiday.pl-PL13.date=20201226
|
||||
holiday.pl-PL13.date=20211226
|
||||
holiday.pl-PL14.name=Nowy Rok
|
||||
holiday.pl-PL14.date=20210101
|
||||
holiday.pl-PL14.date=20220101
|
||||
holiday.pl-PL15.name=Trzech Króli
|
||||
holiday.pl-PL15.date=20210106
|
||||
holiday.pl-PL15.date=20220106
|
||||
holiday.pl-PL16.name=Wielkanoc
|
||||
holiday.pl-PL16.date=20210404
|
||||
holiday.pl-PL16.date=20220417
|
||||
holiday.pl-PL17.name=Poniedziałek Wielkanocny
|
||||
holiday.pl-PL17.date=20210405
|
||||
holiday.pl-PL17.date=20220418
|
||||
holiday.pl-PL18.name=Święto Pracy
|
||||
holiday.pl-PL18.date=20210501
|
||||
holiday.pl-PL18.date=20220501
|
||||
holiday.pl-PL19.name=Święto Konstytucji Trzeciego Maja
|
||||
holiday.pl-PL19.date=20210503
|
||||
holiday.pl-PL19.date=20220503
|
||||
holiday.pl-PL20.name=Zielone Świątki
|
||||
holiday.pl-PL20.date=20210523
|
||||
holiday.pl-PL20.date=20220605
|
||||
holiday.pl-PL21.name=Boże Ciało
|
||||
holiday.pl-PL21.date=20210603
|
||||
holiday.pl-PL21.date=20220616
|
||||
holiday.pl-PL22.name=Wniebowzięcie Najświętszej Maryi Panny
|
||||
holiday.pl-PL22.date=20210815
|
||||
holiday.pl-PL22.date=20220815
|
||||
holiday.pl-PL23.name=Wszystkich Świętych
|
||||
holiday.pl-PL23.date=20211101
|
||||
holiday.pl-PL23.date=20221101
|
||||
holiday.pl-PL24.name=Narodowe Święto Niepodległości
|
||||
holiday.pl-PL24.date=20211111
|
||||
holiday.pl-PL24.date=20221111
|
||||
holiday.pl-PL25.name=Boże Narodzenie (pierwszy dzień)
|
||||
holiday.pl-PL25.date=20211225
|
||||
holiday.pl-PL25.date=20221225
|
||||
holiday.pl-PL26.name=Boże Narodzenie (drugi dzień)
|
||||
holiday.pl-PL26.date=20211226
|
||||
holiday.pl-PL26.date=20221226
|
||||
|
|
241
doc/rc/holidays.pt-BR.rc
Normal file
241
doc/rc/holidays.pt-BR.rc
Normal file
|
@ -0,0 +1,241 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/pt-BR/2021.json
|
||||
# https://holidata.net/pt-BR/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
#
|
||||
# https://www.opensource.org/licenses/mit-license.php
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
holiday.pt-BR1.name=Confraternização Universal
|
||||
holiday.pt-BR1.date=20210101
|
||||
holiday.pt-BR2.name=Criação do Estado de Rondônia
|
||||
holiday.pt-BR2.date=20210104
|
||||
holiday.pt-BR3.name=Dia do Evangélico no Acre
|
||||
holiday.pt-BR3.date=20210123
|
||||
holiday.pt-BR4.name=Carnaval
|
||||
holiday.pt-BR4.date=20210216
|
||||
holiday.pt-BR5.name=Revolução Pernambucana de 1817
|
||||
holiday.pt-BR5.date=20210306
|
||||
holiday.pt-BR6.name=Dia Internacional da Mulher
|
||||
holiday.pt-BR6.date=20210308
|
||||
holiday.pt-BR7.name=Autonomia do Estado de Tocantins
|
||||
holiday.pt-BR7.date=20210318
|
||||
holiday.pt-BR8.name=Dia de São José
|
||||
holiday.pt-BR8.date=20210319
|
||||
holiday.pt-BR9.name=Abolição da Escravidão no Ceará
|
||||
holiday.pt-BR9.date=20210325
|
||||
holiday.pt-BR10.name=Páscoa
|
||||
holiday.pt-BR10.date=20210404
|
||||
holiday.pt-BR11.name=Fundação de Brasília
|
||||
holiday.pt-BR11.date=20210421
|
||||
holiday.pt-BR12.name=Execução de Tiradentes
|
||||
holiday.pt-BR12.date=20210421
|
||||
holiday.pt-BR13.name=Tiradentes
|
||||
holiday.pt-BR13.date=20210421
|
||||
holiday.pt-BR14.name=Dia de São Jorge
|
||||
holiday.pt-BR14.date=20210423
|
||||
holiday.pt-BR15.name=Dia Internacional do Trabalhador
|
||||
holiday.pt-BR15.date=20210501
|
||||
holiday.pt-BR16.name=Aniversário do Estado do Acre
|
||||
holiday.pt-BR16.date=20210615
|
||||
holiday.pt-BR17.name=Dia do Evangélico em Rondônia
|
||||
holiday.pt-BR17.date=20210618
|
||||
holiday.pt-BR18.name=São João
|
||||
holiday.pt-BR18.date=20210624
|
||||
holiday.pt-BR19.name=São Pedro
|
||||
holiday.pt-BR19.date=20210629
|
||||
holiday.pt-BR20.name=Independência da Bahia
|
||||
holiday.pt-BR20.date=20210702
|
||||
holiday.pt-BR21.name=Emancipação Política de Sergipe
|
||||
holiday.pt-BR21.date=20210708
|
||||
holiday.pt-BR22.name=Revolução Constitucionalista de 1932
|
||||
holiday.pt-BR22.date=20210709
|
||||
holiday.pt-BR23.name=Fundação da Cidade de Goiás
|
||||
holiday.pt-BR23.date=20210726
|
||||
holiday.pt-BR24.name=Adesão do Maranhão à Independência do Brasil
|
||||
holiday.pt-BR24.date=20210728
|
||||
holiday.pt-BR25.name=Fundação do Estado da Paraíba
|
||||
holiday.pt-BR25.date=20210805
|
||||
holiday.pt-BR26.name=Dia do Rio Grande do Norte
|
||||
holiday.pt-BR26.date=20210807
|
||||
holiday.pt-BR27.name=Dia de Santa Catarina
|
||||
holiday.pt-BR27.date=20210811
|
||||
holiday.pt-BR28.name=Dia de Nossa Senhora da Assunção
|
||||
holiday.pt-BR28.date=20210815
|
||||
holiday.pt-BR29.name=Adesão do Pará à Independência do Brasil
|
||||
holiday.pt-BR29.date=20210815
|
||||
holiday.pt-BR30.name=Dia da Amazônia
|
||||
holiday.pt-BR30.date=20210905
|
||||
holiday.pt-BR31.name=Elevação do Amazonas à Categoria de Província
|
||||
holiday.pt-BR31.date=20210905
|
||||
holiday.pt-BR32.name=Independência do Brasil
|
||||
holiday.pt-BR32.date=20210907
|
||||
holiday.pt-BR33.name=Nossa Senhora da Natividade
|
||||
holiday.pt-BR33.date=20210908
|
||||
holiday.pt-BR34.name=Criação do Território Federal do Amapá
|
||||
holiday.pt-BR34.date=20210913
|
||||
holiday.pt-BR35.name=Emancipação Política do Alagoas
|
||||
holiday.pt-BR35.date=20210916
|
||||
holiday.pt-BR36.name=Dia do Gaúcho
|
||||
holiday.pt-BR36.date=20210920
|
||||
holiday.pt-BR37.name=Mártires de Cunhaú e Uruaçu
|
||||
holiday.pt-BR37.date=20211003
|
||||
holiday.pt-BR38.name=Criação dos Estado de Roraima
|
||||
holiday.pt-BR38.date=20211005
|
||||
holiday.pt-BR39.name=Criação dos Estado de Tocantins
|
||||
holiday.pt-BR39.date=20211005
|
||||
holiday.pt-BR40.name=Criação do Estado do Mato Grosso do Sul
|
||||
holiday.pt-BR40.date=20211011
|
||||
holiday.pt-BR41.name=Nossa Senhora Aparecida
|
||||
holiday.pt-BR41.date=20211012
|
||||
holiday.pt-BR42.name=Dia do Piauí
|
||||
holiday.pt-BR42.date=20211019
|
||||
holiday.pt-BR43.name=Pedra Fundamental de Goiânia
|
||||
holiday.pt-BR43.date=20211024
|
||||
holiday.pt-BR44.name=Finados
|
||||
holiday.pt-BR44.date=20211102
|
||||
holiday.pt-BR45.name=Proclamação da República
|
||||
holiday.pt-BR45.date=20211115
|
||||
holiday.pt-BR46.name=Assinatura do Tratado de Petrópolis
|
||||
holiday.pt-BR46.date=20211117
|
||||
holiday.pt-BR47.name=Morte de Zumbi dos Palmares
|
||||
holiday.pt-BR47.date=20211120
|
||||
holiday.pt-BR48.name=Dia da Consciência Negra
|
||||
holiday.pt-BR48.date=20211120
|
||||
holiday.pt-BR49.name=Dia de Santa Catarina de Alexandria
|
||||
holiday.pt-BR49.date=20211125
|
||||
holiday.pt-BR50.name=Dia do Evangélico do Distrito Federal
|
||||
holiday.pt-BR50.date=20211130
|
||||
holiday.pt-BR51.name=Nossa Senhora da Conceição
|
||||
holiday.pt-BR51.date=20211208
|
||||
holiday.pt-BR52.name=Emancipação Política do Estado do Paraná
|
||||
holiday.pt-BR52.date=20211219
|
||||
holiday.pt-BR53.name=Natal
|
||||
holiday.pt-BR53.date=20211225
|
||||
holiday.pt-BR54.name=Confraternização Universal
|
||||
holiday.pt-BR54.date=20220101
|
||||
holiday.pt-BR55.name=Criação do Estado de Rondônia
|
||||
holiday.pt-BR55.date=20220104
|
||||
holiday.pt-BR56.name=Dia do Evangélico no Acre
|
||||
holiday.pt-BR56.date=20220123
|
||||
holiday.pt-BR57.name=Carnaval
|
||||
holiday.pt-BR57.date=20220301
|
||||
holiday.pt-BR58.name=Revolução Pernambucana de 1817
|
||||
holiday.pt-BR58.date=20220306
|
||||
holiday.pt-BR59.name=Dia Internacional da Mulher
|
||||
holiday.pt-BR59.date=20220308
|
||||
holiday.pt-BR60.name=Autonomia do Estado de Tocantins
|
||||
holiday.pt-BR60.date=20220318
|
||||
holiday.pt-BR61.name=Dia de São José
|
||||
holiday.pt-BR61.date=20220319
|
||||
holiday.pt-BR62.name=Abolição da Escravidão no Ceará
|
||||
holiday.pt-BR62.date=20220325
|
||||
holiday.pt-BR63.name=Páscoa
|
||||
holiday.pt-BR63.date=20220417
|
||||
holiday.pt-BR64.name=Fundação de Brasília
|
||||
holiday.pt-BR64.date=20220421
|
||||
holiday.pt-BR65.name=Execução de Tiradentes
|
||||
holiday.pt-BR65.date=20220421
|
||||
holiday.pt-BR66.name=Tiradentes
|
||||
holiday.pt-BR66.date=20220421
|
||||
holiday.pt-BR67.name=Dia de São Jorge
|
||||
holiday.pt-BR67.date=20220423
|
||||
holiday.pt-BR68.name=Dia Internacional do Trabalhador
|
||||
holiday.pt-BR68.date=20220501
|
||||
holiday.pt-BR69.name=Aniversário do Estado do Acre
|
||||
holiday.pt-BR69.date=20220615
|
||||
holiday.pt-BR70.name=Dia do Evangélico em Rondônia
|
||||
holiday.pt-BR70.date=20220618
|
||||
holiday.pt-BR71.name=São João
|
||||
holiday.pt-BR71.date=20220624
|
||||
holiday.pt-BR72.name=São Pedro
|
||||
holiday.pt-BR72.date=20220629
|
||||
holiday.pt-BR73.name=Independência da Bahia
|
||||
holiday.pt-BR73.date=20220702
|
||||
holiday.pt-BR74.name=Emancipação Política de Sergipe
|
||||
holiday.pt-BR74.date=20220708
|
||||
holiday.pt-BR75.name=Revolução Constitucionalista de 1932
|
||||
holiday.pt-BR75.date=20220709
|
||||
holiday.pt-BR76.name=Fundação da Cidade de Goiás
|
||||
holiday.pt-BR76.date=20220726
|
||||
holiday.pt-BR77.name=Adesão do Maranhão à Independência do Brasil
|
||||
holiday.pt-BR77.date=20220728
|
||||
holiday.pt-BR78.name=Fundação do Estado da Paraíba
|
||||
holiday.pt-BR78.date=20220805
|
||||
holiday.pt-BR79.name=Dia do Rio Grande do Norte
|
||||
holiday.pt-BR79.date=20220807
|
||||
holiday.pt-BR80.name=Dia de Santa Catarina
|
||||
holiday.pt-BR80.date=20220811
|
||||
holiday.pt-BR81.name=Dia de Nossa Senhora da Assunção
|
||||
holiday.pt-BR81.date=20220815
|
||||
holiday.pt-BR82.name=Adesão do Pará à Independência do Brasil
|
||||
holiday.pt-BR82.date=20220815
|
||||
holiday.pt-BR83.name=Dia da Amazônia
|
||||
holiday.pt-BR83.date=20220905
|
||||
holiday.pt-BR84.name=Elevação do Amazonas à Categoria de Província
|
||||
holiday.pt-BR84.date=20220905
|
||||
holiday.pt-BR85.name=Independência do Brasil
|
||||
holiday.pt-BR85.date=20220907
|
||||
holiday.pt-BR86.name=Nossa Senhora da Natividade
|
||||
holiday.pt-BR86.date=20220908
|
||||
holiday.pt-BR87.name=Criação do Território Federal do Amapá
|
||||
holiday.pt-BR87.date=20220913
|
||||
holiday.pt-BR88.name=Emancipação Política do Alagoas
|
||||
holiday.pt-BR88.date=20220916
|
||||
holiday.pt-BR89.name=Dia do Gaúcho
|
||||
holiday.pt-BR89.date=20220920
|
||||
holiday.pt-BR90.name=Mártires de Cunhaú e Uruaçu
|
||||
holiday.pt-BR90.date=20221003
|
||||
holiday.pt-BR91.name=Criação dos Estado de Roraima
|
||||
holiday.pt-BR91.date=20221005
|
||||
holiday.pt-BR92.name=Criação dos Estado de Tocantins
|
||||
holiday.pt-BR92.date=20221005
|
||||
holiday.pt-BR93.name=Criação do Estado do Mato Grosso do Sul
|
||||
holiday.pt-BR93.date=20221011
|
||||
holiday.pt-BR94.name=Nossa Senhora Aparecida
|
||||
holiday.pt-BR94.date=20221012
|
||||
holiday.pt-BR95.name=Dia do Piauí
|
||||
holiday.pt-BR95.date=20221019
|
||||
holiday.pt-BR96.name=Pedra Fundamental de Goiânia
|
||||
holiday.pt-BR96.date=20221024
|
||||
holiday.pt-BR97.name=Finados
|
||||
holiday.pt-BR97.date=20221102
|
||||
holiday.pt-BR98.name=Proclamação da República
|
||||
holiday.pt-BR98.date=20221115
|
||||
holiday.pt-BR99.name=Assinatura do Tratado de Petrópolis
|
||||
holiday.pt-BR99.date=20221117
|
||||
holiday.pt-BR100.name=Morte de Zumbi dos Palmares
|
||||
holiday.pt-BR100.date=20221120
|
||||
holiday.pt-BR101.name=Dia da Consciência Negra
|
||||
holiday.pt-BR101.date=20221120
|
||||
holiday.pt-BR102.name=Dia de Santa Catarina de Alexandria
|
||||
holiday.pt-BR102.date=20221125
|
||||
holiday.pt-BR103.name=Dia do Evangélico do Distrito Federal
|
||||
holiday.pt-BR103.date=20221130
|
||||
holiday.pt-BR104.name=Nossa Senhora da Conceição
|
||||
holiday.pt-BR104.date=20221208
|
||||
holiday.pt-BR105.name=Emancipação Política do Estado do Paraná
|
||||
holiday.pt-BR105.date=20221219
|
||||
holiday.pt-BR106.name=Natal
|
||||
holiday.pt-BR106.date=20221225
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/pt-PT/2020.json
|
||||
# https://holidata.net/pt-PT/2021.json
|
||||
# https://holidata.net/pt-PT/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,58 +28,58 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.pt-PT1.name=Ano Novo
|
||||
holiday.pt-PT1.date=20200101
|
||||
holiday.pt-PT1.date=20210101
|
||||
holiday.pt-PT2.name=Carnaval
|
||||
holiday.pt-PT2.date=20200225
|
||||
holiday.pt-PT2.date=20210216
|
||||
holiday.pt-PT3.name=Sexta-feira Santa
|
||||
holiday.pt-PT3.date=20200410
|
||||
holiday.pt-PT3.date=20210402
|
||||
holiday.pt-PT4.name=Páscoa
|
||||
holiday.pt-PT4.date=20200412
|
||||
holiday.pt-PT4.date=20210404
|
||||
holiday.pt-PT5.name=Dia da Liberdade
|
||||
holiday.pt-PT5.date=20200425
|
||||
holiday.pt-PT5.date=20210425
|
||||
holiday.pt-PT6.name=Dia do Trabalhador
|
||||
holiday.pt-PT6.date=20200501
|
||||
holiday.pt-PT7.name=Dia de Portugal
|
||||
holiday.pt-PT7.date=20200610
|
||||
holiday.pt-PT8.name=Corpo de Deus
|
||||
holiday.pt-PT8.date=20200611
|
||||
holiday.pt-PT6.date=20210501
|
||||
holiday.pt-PT7.name=Corpo de Deus
|
||||
holiday.pt-PT7.date=20210603
|
||||
holiday.pt-PT8.name=Dia de Portugal
|
||||
holiday.pt-PT8.date=20210610
|
||||
holiday.pt-PT9.name=Assunção de Nossa Senhora
|
||||
holiday.pt-PT9.date=20200815
|
||||
holiday.pt-PT9.date=20210815
|
||||
holiday.pt-PT10.name=Implantação da República
|
||||
holiday.pt-PT10.date=20201005
|
||||
holiday.pt-PT10.date=20211005
|
||||
holiday.pt-PT11.name=Dia de Todos os Santos
|
||||
holiday.pt-PT11.date=20201101
|
||||
holiday.pt-PT11.date=20211101
|
||||
holiday.pt-PT12.name=Restauração da Independência
|
||||
holiday.pt-PT12.date=20201201
|
||||
holiday.pt-PT12.date=20211201
|
||||
holiday.pt-PT13.name=Imaculada Conceição
|
||||
holiday.pt-PT13.date=20201208
|
||||
holiday.pt-PT13.date=20211208
|
||||
holiday.pt-PT14.name=Natal
|
||||
holiday.pt-PT14.date=20201225
|
||||
holiday.pt-PT14.date=20211225
|
||||
holiday.pt-PT15.name=Ano Novo
|
||||
holiday.pt-PT15.date=20210101
|
||||
holiday.pt-PT15.date=20220101
|
||||
holiday.pt-PT16.name=Carnaval
|
||||
holiday.pt-PT16.date=20210216
|
||||
holiday.pt-PT16.date=20220301
|
||||
holiday.pt-PT17.name=Sexta-feira Santa
|
||||
holiday.pt-PT17.date=20210402
|
||||
holiday.pt-PT17.date=20220415
|
||||
holiday.pt-PT18.name=Páscoa
|
||||
holiday.pt-PT18.date=20210404
|
||||
holiday.pt-PT18.date=20220417
|
||||
holiday.pt-PT19.name=Dia da Liberdade
|
||||
holiday.pt-PT19.date=20210425
|
||||
holiday.pt-PT19.date=20220425
|
||||
holiday.pt-PT20.name=Dia do Trabalhador
|
||||
holiday.pt-PT20.date=20210501
|
||||
holiday.pt-PT21.name=Corpo de Deus
|
||||
holiday.pt-PT21.date=20210603
|
||||
holiday.pt-PT22.name=Dia de Portugal
|
||||
holiday.pt-PT22.date=20210610
|
||||
holiday.pt-PT20.date=20220501
|
||||
holiday.pt-PT21.name=Dia de Portugal
|
||||
holiday.pt-PT21.date=20220610
|
||||
holiday.pt-PT22.name=Corpo de Deus
|
||||
holiday.pt-PT22.date=20220616
|
||||
holiday.pt-PT23.name=Assunção de Nossa Senhora
|
||||
holiday.pt-PT23.date=20210815
|
||||
holiday.pt-PT23.date=20220815
|
||||
holiday.pt-PT24.name=Implantação da República
|
||||
holiday.pt-PT24.date=20211005
|
||||
holiday.pt-PT24.date=20221005
|
||||
holiday.pt-PT25.name=Dia de Todos os Santos
|
||||
holiday.pt-PT25.date=20211101
|
||||
holiday.pt-PT25.date=20221101
|
||||
holiday.pt-PT26.name=Restauração da Independência
|
||||
holiday.pt-PT26.date=20211201
|
||||
holiday.pt-PT26.date=20221201
|
||||
holiday.pt-PT27.name=Imaculada Conceição
|
||||
holiday.pt-PT27.date=20211208
|
||||
holiday.pt-PT27.date=20221208
|
||||
holiday.pt-PT28.name=Natal
|
||||
holiday.pt-PT28.date=20211225
|
||||
holiday.pt-PT28.date=20221225
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/ru-RU/2020.json
|
||||
# https://holidata.net/ru-RU/2021.json
|
||||
# https://holidata.net/ru-RU/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,38 +28,38 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.ru-RU1.name=Новый Год
|
||||
holiday.ru-RU1.date=20200101
|
||||
holiday.ru-RU1.date=20210101
|
||||
holiday.ru-RU2.name=Рождество Христово
|
||||
holiday.ru-RU2.date=20200107
|
||||
holiday.ru-RU2.date=20210107
|
||||
holiday.ru-RU3.name=День защитника Отечества
|
||||
holiday.ru-RU3.date=20200223
|
||||
holiday.ru-RU3.date=20210223
|
||||
holiday.ru-RU4.name=Международный женский день
|
||||
holiday.ru-RU4.date=20200308
|
||||
holiday.ru-RU5.name=Пасха
|
||||
holiday.ru-RU5.date=20200419
|
||||
holiday.ru-RU6.name=Праздник весны и труда
|
||||
holiday.ru-RU6.date=20200501
|
||||
holiday.ru-RU4.date=20210308
|
||||
holiday.ru-RU5.name=Праздник весны и труда
|
||||
holiday.ru-RU5.date=20210501
|
||||
holiday.ru-RU6.name=Пасха
|
||||
holiday.ru-RU6.date=20210502
|
||||
holiday.ru-RU7.name=День Победы
|
||||
holiday.ru-RU7.date=20200509
|
||||
holiday.ru-RU7.date=20210509
|
||||
holiday.ru-RU8.name=День России
|
||||
holiday.ru-RU8.date=20200612
|
||||
holiday.ru-RU8.date=20210612
|
||||
holiday.ru-RU9.name=День народного единства
|
||||
holiday.ru-RU9.date=20201104
|
||||
holiday.ru-RU9.date=20211104
|
||||
holiday.ru-RU10.name=Новый Год
|
||||
holiday.ru-RU10.date=20210101
|
||||
holiday.ru-RU10.date=20220101
|
||||
holiday.ru-RU11.name=Рождество Христово
|
||||
holiday.ru-RU11.date=20210107
|
||||
holiday.ru-RU11.date=20220107
|
||||
holiday.ru-RU12.name=День защитника Отечества
|
||||
holiday.ru-RU12.date=20210223
|
||||
holiday.ru-RU12.date=20220223
|
||||
holiday.ru-RU13.name=Международный женский день
|
||||
holiday.ru-RU13.date=20210308
|
||||
holiday.ru-RU14.name=Праздник весны и труда
|
||||
holiday.ru-RU14.date=20210501
|
||||
holiday.ru-RU15.name=Пасха
|
||||
holiday.ru-RU15.date=20210502
|
||||
holiday.ru-RU13.date=20220308
|
||||
holiday.ru-RU14.name=Пасха
|
||||
holiday.ru-RU14.date=20220424
|
||||
holiday.ru-RU15.name=Праздник весны и труда
|
||||
holiday.ru-RU15.date=20220501
|
||||
holiday.ru-RU16.name=День Победы
|
||||
holiday.ru-RU16.date=20210509
|
||||
holiday.ru-RU16.date=20220509
|
||||
holiday.ru-RU17.name=День России
|
||||
holiday.ru-RU17.date=20210612
|
||||
holiday.ru-RU17.date=20220612
|
||||
holiday.ru-RU18.name=День народного единства
|
||||
holiday.ru-RU18.date=20211104
|
||||
holiday.ru-RU18.date=20221104
|
||||
|
|
89
doc/rc/holidays.sk-SK.rc
Normal file
89
doc/rc/holidays.sk-SK.rc
Normal file
|
@ -0,0 +1,89 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/sk-SK/2021.json
|
||||
# https://holidata.net/sk-SK/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
#
|
||||
# https://www.opensource.org/licenses/mit-license.php
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
holiday.sk-SK1.name=Deň vzniku Slovenskej republiky
|
||||
holiday.sk-SK1.date=20210101
|
||||
holiday.sk-SK2.name=Zjavenie Pána / Traja králi
|
||||
holiday.sk-SK2.date=20210106
|
||||
holiday.sk-SK3.name=Veľký piatok
|
||||
holiday.sk-SK3.date=20210402
|
||||
holiday.sk-SK4.name=Veľkonočný pondelok
|
||||
holiday.sk-SK4.date=20210405
|
||||
holiday.sk-SK5.name=Sviatok práce
|
||||
holiday.sk-SK5.date=20210501
|
||||
holiday.sk-SK6.name=Deň víťazstva nad fašizmom
|
||||
holiday.sk-SK6.date=20210508
|
||||
holiday.sk-SK7.name=Sviatok svätého Cyrila a Metoda
|
||||
holiday.sk-SK7.date=20210705
|
||||
holiday.sk-SK8.name=Výročie SNP
|
||||
holiday.sk-SK8.date=20210829
|
||||
holiday.sk-SK9.name=Deň Ústavy Slovenskej republiky
|
||||
holiday.sk-SK9.date=20210901
|
||||
holiday.sk-SK10.name=Sedembolestná Panna Mária
|
||||
holiday.sk-SK10.date=20210915
|
||||
holiday.sk-SK11.name=Sviatok všetkých svätých
|
||||
holiday.sk-SK11.date=20211101
|
||||
holiday.sk-SK12.name=Deň boja za slobodu a demokraciu
|
||||
holiday.sk-SK12.date=20211117
|
||||
holiday.sk-SK13.name=Štedrý deň
|
||||
holiday.sk-SK13.date=20211224
|
||||
holiday.sk-SK14.name=Prvý sviatok vianočný
|
||||
holiday.sk-SK14.date=20211225
|
||||
holiday.sk-SK15.name=Druhý sviatok vianočný
|
||||
holiday.sk-SK15.date=20211226
|
||||
holiday.sk-SK16.name=Deň vzniku Slovenskej republiky
|
||||
holiday.sk-SK16.date=20220101
|
||||
holiday.sk-SK17.name=Zjavenie Pána / Traja králi
|
||||
holiday.sk-SK17.date=20220106
|
||||
holiday.sk-SK18.name=Veľký piatok
|
||||
holiday.sk-SK18.date=20220415
|
||||
holiday.sk-SK19.name=Veľkonočný pondelok
|
||||
holiday.sk-SK19.date=20220418
|
||||
holiday.sk-SK20.name=Sviatok práce
|
||||
holiday.sk-SK20.date=20220501
|
||||
holiday.sk-SK21.name=Deň víťazstva nad fašizmom
|
||||
holiday.sk-SK21.date=20220508
|
||||
holiday.sk-SK22.name=Sviatok svätého Cyrila a Metoda
|
||||
holiday.sk-SK22.date=20220705
|
||||
holiday.sk-SK23.name=Výročie SNP
|
||||
holiday.sk-SK23.date=20220829
|
||||
holiday.sk-SK24.name=Deň Ústavy Slovenskej republiky
|
||||
holiday.sk-SK24.date=20220901
|
||||
holiday.sk-SK25.name=Sedembolestná Panna Mária
|
||||
holiday.sk-SK25.date=20220915
|
||||
holiday.sk-SK26.name=Sviatok všetkých svätých
|
||||
holiday.sk-SK26.date=20221101
|
||||
holiday.sk-SK27.name=Deň boja za slobodu a demokraciu
|
||||
holiday.sk-SK27.date=20221117
|
||||
holiday.sk-SK28.name=Štedrý deň
|
||||
holiday.sk-SK28.date=20221224
|
||||
holiday.sk-SK29.name=Prvý sviatok vianočný
|
||||
holiday.sk-SK29.date=20221225
|
||||
holiday.sk-SK30.name=Druhý sviatok vianočný
|
||||
holiday.sk-SK30.date=20221226
|
81
doc/rc/holidays.sv-FI.rc
Normal file
81
doc/rc/holidays.sv-FI.rc
Normal file
|
@ -0,0 +1,81 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/sv-FI/2021.json
|
||||
# https://holidata.net/sv-FI/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included
|
||||
# in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
#
|
||||
# https://www.opensource.org/licenses/mit-license.php
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
holiday.sv-FI1.name=Nyårsdagen
|
||||
holiday.sv-FI1.date=20210101
|
||||
holiday.sv-FI2.name=Trettondedagen
|
||||
holiday.sv-FI2.date=20210106
|
||||
holiday.sv-FI3.name=Långfredagen
|
||||
holiday.sv-FI3.date=20210402
|
||||
holiday.sv-FI4.name=Påskdagen
|
||||
holiday.sv-FI4.date=20210404
|
||||
holiday.sv-FI5.name=Annandag påsk
|
||||
holiday.sv-FI5.date=20210405
|
||||
holiday.sv-FI6.name=Första maj
|
||||
holiday.sv-FI6.date=20210501
|
||||
holiday.sv-FI7.name=Kristi himmelfärdsdag
|
||||
holiday.sv-FI7.date=20210513
|
||||
holiday.sv-FI8.name=Pingst
|
||||
holiday.sv-FI8.date=20210523
|
||||
holiday.sv-FI9.name=Midsommardagen
|
||||
holiday.sv-FI9.date=20210626
|
||||
holiday.sv-FI10.name=Alla helgons dag
|
||||
holiday.sv-FI10.date=20211106
|
||||
holiday.sv-FI11.name=Självständighetsdagen
|
||||
holiday.sv-FI11.date=20211206
|
||||
holiday.sv-FI12.name=Juldagen
|
||||
holiday.sv-FI12.date=20211225
|
||||
holiday.sv-FI13.name=Annandag jul
|
||||
holiday.sv-FI13.date=20211226
|
||||
holiday.sv-FI14.name=Nyårsdagen
|
||||
holiday.sv-FI14.date=20220101
|
||||
holiday.sv-FI15.name=Trettondedagen
|
||||
holiday.sv-FI15.date=20220106
|
||||
holiday.sv-FI16.name=Långfredagen
|
||||
holiday.sv-FI16.date=20220415
|
||||
holiday.sv-FI17.name=Påskdagen
|
||||
holiday.sv-FI17.date=20220417
|
||||
holiday.sv-FI18.name=Annandag påsk
|
||||
holiday.sv-FI18.date=20220418
|
||||
holiday.sv-FI19.name=Första maj
|
||||
holiday.sv-FI19.date=20220501
|
||||
holiday.sv-FI20.name=Kristi himmelfärdsdag
|
||||
holiday.sv-FI20.date=20220526
|
||||
holiday.sv-FI21.name=Pingst
|
||||
holiday.sv-FI21.date=20220605
|
||||
holiday.sv-FI22.name=Midsommardagen
|
||||
holiday.sv-FI22.date=20220625
|
||||
holiday.sv-FI23.name=Alla helgons dag
|
||||
holiday.sv-FI23.date=20221105
|
||||
holiday.sv-FI24.name=Självständighetsdagen
|
||||
holiday.sv-FI24.date=20221206
|
||||
holiday.sv-FI25.name=Juldagen
|
||||
holiday.sv-FI25.date=20221225
|
||||
holiday.sv-FI26.name=Annandag jul
|
||||
holiday.sv-FI26.date=20221226
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/sv-SE/2020.json
|
||||
# https://holidata.net/sv-SE/2021.json
|
||||
# https://holidata.net/sv-SE/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,66 +28,66 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.sv-SE1.name=Nyårsdagen
|
||||
holiday.sv-SE1.date=20200101
|
||||
holiday.sv-SE1.date=20210101
|
||||
holiday.sv-SE2.name=Trettondedag jul
|
||||
holiday.sv-SE2.date=20200106
|
||||
holiday.sv-SE2.date=20210106
|
||||
holiday.sv-SE3.name=Långfredagen
|
||||
holiday.sv-SE3.date=20200410
|
||||
holiday.sv-SE3.date=20210402
|
||||
holiday.sv-SE4.name=Påskdagen
|
||||
holiday.sv-SE4.date=20200412
|
||||
holiday.sv-SE4.date=20210404
|
||||
holiday.sv-SE5.name=Annandag påsk
|
||||
holiday.sv-SE5.date=20200413
|
||||
holiday.sv-SE5.date=20210405
|
||||
holiday.sv-SE6.name=Första maj
|
||||
holiday.sv-SE6.date=20200501
|
||||
holiday.sv-SE6.date=20210501
|
||||
holiday.sv-SE7.name=Kristi himmelsfärdsdag
|
||||
holiday.sv-SE7.date=20200521
|
||||
holiday.sv-SE7.date=20210513
|
||||
holiday.sv-SE8.name=Pingstdagen
|
||||
holiday.sv-SE8.date=20200531
|
||||
holiday.sv-SE8.date=20210523
|
||||
holiday.sv-SE9.name=Nationaldagen
|
||||
holiday.sv-SE9.date=20200606
|
||||
holiday.sv-SE9.date=20210606
|
||||
holiday.sv-SE10.name=Midsommarafton
|
||||
holiday.sv-SE10.date=20200619
|
||||
holiday.sv-SE10.date=20210625
|
||||
holiday.sv-SE11.name=Midsommardagen
|
||||
holiday.sv-SE11.date=20200620
|
||||
holiday.sv-SE11.date=20210626
|
||||
holiday.sv-SE12.name=Alla helgons dag
|
||||
holiday.sv-SE12.date=20201031
|
||||
holiday.sv-SE12.date=20211106
|
||||
holiday.sv-SE13.name=Julafton
|
||||
holiday.sv-SE13.date=20201224
|
||||
holiday.sv-SE13.date=20211224
|
||||
holiday.sv-SE14.name=Juldagen
|
||||
holiday.sv-SE14.date=20201225
|
||||
holiday.sv-SE14.date=20211225
|
||||
holiday.sv-SE15.name=Annandag jul
|
||||
holiday.sv-SE15.date=20201226
|
||||
holiday.sv-SE15.date=20211226
|
||||
holiday.sv-SE16.name=Nyårsafton
|
||||
holiday.sv-SE16.date=20201231
|
||||
holiday.sv-SE16.date=20211231
|
||||
holiday.sv-SE17.name=Nyårsdagen
|
||||
holiday.sv-SE17.date=20210101
|
||||
holiday.sv-SE17.date=20220101
|
||||
holiday.sv-SE18.name=Trettondedag jul
|
||||
holiday.sv-SE18.date=20210106
|
||||
holiday.sv-SE18.date=20220106
|
||||
holiday.sv-SE19.name=Långfredagen
|
||||
holiday.sv-SE19.date=20210402
|
||||
holiday.sv-SE19.date=20220415
|
||||
holiday.sv-SE20.name=Påskdagen
|
||||
holiday.sv-SE20.date=20210404
|
||||
holiday.sv-SE20.date=20220417
|
||||
holiday.sv-SE21.name=Annandag påsk
|
||||
holiday.sv-SE21.date=20210405
|
||||
holiday.sv-SE21.date=20220418
|
||||
holiday.sv-SE22.name=Första maj
|
||||
holiday.sv-SE22.date=20210501
|
||||
holiday.sv-SE22.date=20220501
|
||||
holiday.sv-SE23.name=Kristi himmelsfärdsdag
|
||||
holiday.sv-SE23.date=20210513
|
||||
holiday.sv-SE23.date=20220526
|
||||
holiday.sv-SE24.name=Pingstdagen
|
||||
holiday.sv-SE24.date=20210523
|
||||
holiday.sv-SE24.date=20220605
|
||||
holiday.sv-SE25.name=Nationaldagen
|
||||
holiday.sv-SE25.date=20210606
|
||||
holiday.sv-SE25.date=20220606
|
||||
holiday.sv-SE26.name=Midsommarafton
|
||||
holiday.sv-SE26.date=20210625
|
||||
holiday.sv-SE26.date=20220624
|
||||
holiday.sv-SE27.name=Midsommardagen
|
||||
holiday.sv-SE27.date=20210626
|
||||
holiday.sv-SE27.date=20220625
|
||||
holiday.sv-SE28.name=Alla helgons dag
|
||||
holiday.sv-SE28.date=20211106
|
||||
holiday.sv-SE28.date=20221105
|
||||
holiday.sv-SE29.name=Julafton
|
||||
holiday.sv-SE29.date=20211224
|
||||
holiday.sv-SE29.date=20221224
|
||||
holiday.sv-SE30.name=Juldagen
|
||||
holiday.sv-SE30.date=20211225
|
||||
holiday.sv-SE30.date=20221225
|
||||
holiday.sv-SE31.name=Annandag jul
|
||||
holiday.sv-SE31.date=20211226
|
||||
holiday.sv-SE31.date=20221226
|
||||
holiday.sv-SE32.name=Nyårsafton
|
||||
holiday.sv-SE32.date=20211231
|
||||
holiday.sv-SE32.date=20221231
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
###############################################################################
|
||||
# International Holiday Data provided by Holidata.net
|
||||
# https://holidata.net/tr-TR/2020.json
|
||||
# https://holidata.net/tr-TR/2021.json
|
||||
# https://holidata.net/tr-TR/2022.json
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -28,58 +28,58 @@
|
|||
###############################################################################
|
||||
|
||||
holiday.tr-TR1.name=Yılbaşı
|
||||
holiday.tr-TR1.date=20200101
|
||||
holiday.tr-TR1.date=20210101
|
||||
holiday.tr-TR2.name=Ulusal Egemenlik ve Çocuk Bayramı
|
||||
holiday.tr-TR2.date=20200423
|
||||
holiday.tr-TR2.date=20210423
|
||||
holiday.tr-TR3.name=Emek ve Dayanışma Günü
|
||||
holiday.tr-TR3.date=20200501
|
||||
holiday.tr-TR4.name=Atatürk'ü Anma, Gençlik ve Spor Bayramı
|
||||
holiday.tr-TR4.date=20200519
|
||||
holiday.tr-TR5.name=Ramazan Bayramı (1. Gün)
|
||||
holiday.tr-TR5.date=20200524
|
||||
holiday.tr-TR6.name=Ramazan Bayramı (2. Gün)
|
||||
holiday.tr-TR6.date=20200525
|
||||
holiday.tr-TR7.name=Ramazan Bayramı (3. Gün)
|
||||
holiday.tr-TR7.date=20200526
|
||||
holiday.tr-TR3.date=20210501
|
||||
holiday.tr-TR4.name=Ramazan Bayramı (1. Gün)
|
||||
holiday.tr-TR4.date=20210513
|
||||
holiday.tr-TR5.name=Ramazan Bayramı (2. Gün)
|
||||
holiday.tr-TR5.date=20210514
|
||||
holiday.tr-TR6.name=Ramazan Bayramı (3. Gün)
|
||||
holiday.tr-TR6.date=20210515
|
||||
holiday.tr-TR7.name=Atatürk'ü Anma, Gençlik ve Spor Bayramı
|
||||
holiday.tr-TR7.date=20210519
|
||||
holiday.tr-TR8.name=Demokrasi ve Milli Birlik Günü
|
||||
holiday.tr-TR8.date=20200715
|
||||
holiday.tr-TR8.date=20210715
|
||||
holiday.tr-TR9.name=Kurban Bayramı (1. Gün)
|
||||
holiday.tr-TR9.date=20200731
|
||||
holiday.tr-TR9.date=20210720
|
||||
holiday.tr-TR10.name=Kurban Bayramı (2. Gün)
|
||||
holiday.tr-TR10.date=20200801
|
||||
holiday.tr-TR10.date=20210721
|
||||
holiday.tr-TR11.name=Kurban Bayramı (3. Gün)
|
||||
holiday.tr-TR11.date=20200802
|
||||
holiday.tr-TR11.date=20210722
|
||||
holiday.tr-TR12.name=Kurban Bayramı (4. Gün)
|
||||
holiday.tr-TR12.date=20200803
|
||||
holiday.tr-TR12.date=20210723
|
||||
holiday.tr-TR13.name=Zafer Bayramı
|
||||
holiday.tr-TR13.date=20200830
|
||||
holiday.tr-TR13.date=20210830
|
||||
holiday.tr-TR14.name=Cumhuriyet Bayramı
|
||||
holiday.tr-TR14.date=20201029
|
||||
holiday.tr-TR14.date=20211029
|
||||
holiday.tr-TR15.name=Yılbaşı
|
||||
holiday.tr-TR15.date=20210101
|
||||
holiday.tr-TR15.date=20220101
|
||||
holiday.tr-TR16.name=Ulusal Egemenlik ve Çocuk Bayramı
|
||||
holiday.tr-TR16.date=20210423
|
||||
holiday.tr-TR16.date=20220423
|
||||
holiday.tr-TR17.name=Emek ve Dayanışma Günü
|
||||
holiday.tr-TR17.date=20210501
|
||||
holiday.tr-TR17.date=20220501
|
||||
holiday.tr-TR18.name=Ramazan Bayramı (1. Gün)
|
||||
holiday.tr-TR18.date=20210513
|
||||
holiday.tr-TR18.date=20220502
|
||||
holiday.tr-TR19.name=Ramazan Bayramı (2. Gün)
|
||||
holiday.tr-TR19.date=20210514
|
||||
holiday.tr-TR19.date=20220503
|
||||
holiday.tr-TR20.name=Ramazan Bayramı (3. Gün)
|
||||
holiday.tr-TR20.date=20210515
|
||||
holiday.tr-TR20.date=20220504
|
||||
holiday.tr-TR21.name=Atatürk'ü Anma, Gençlik ve Spor Bayramı
|
||||
holiday.tr-TR21.date=20210519
|
||||
holiday.tr-TR22.name=Demokrasi ve Milli Birlik Günü
|
||||
holiday.tr-TR22.date=20210715
|
||||
holiday.tr-TR23.name=Kurban Bayramı (1. Gün)
|
||||
holiday.tr-TR23.date=20210720
|
||||
holiday.tr-TR24.name=Kurban Bayramı (2. Gün)
|
||||
holiday.tr-TR24.date=20210721
|
||||
holiday.tr-TR25.name=Kurban Bayramı (3. Gün)
|
||||
holiday.tr-TR25.date=20210722
|
||||
holiday.tr-TR26.name=Kurban Bayramı (4. Gün)
|
||||
holiday.tr-TR26.date=20210723
|
||||
holiday.tr-TR21.date=20220519
|
||||
holiday.tr-TR22.name=Kurban Bayramı (1. Gün)
|
||||
holiday.tr-TR22.date=20220709
|
||||
holiday.tr-TR23.name=Kurban Bayramı (2. Gün)
|
||||
holiday.tr-TR23.date=20220710
|
||||
holiday.tr-TR24.name=Kurban Bayramı (3. Gün)
|
||||
holiday.tr-TR24.date=20220711
|
||||
holiday.tr-TR25.name=Kurban Bayramı (4. Gün)
|
||||
holiday.tr-TR25.date=20220712
|
||||
holiday.tr-TR26.name=Demokrasi ve Milli Birlik Günü
|
||||
holiday.tr-TR26.date=20220715
|
||||
holiday.tr-TR27.name=Zafer Bayramı
|
||||
holiday.tr-TR27.date=20210830
|
||||
holiday.tr-TR27.date=20220830
|
||||
holiday.tr-TR28.name=Cumhuriyet Bayramı
|
||||
holiday.tr-TR28.date=20211029
|
||||
holiday.tr-TR28.date=20221029
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
###############################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
################################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -25,7 +25,7 @@
|
|||
###############################################################################
|
||||
|
||||
# Colors used are based on the Solarized palette created by Ethan Schoonover
|
||||
# <http://ethanschoonover.com/solarized>
|
||||
# <https://ethanschoonover.com/solarized>
|
||||
#
|
||||
# This theme was designed to work with a terminal application that is using a
|
||||
# Solarized "Dark" color theme, otherwise colors will look odd. Solarized
|
||||
|
@ -74,7 +74,7 @@ color.uda.priority.L=bold green #color11
|
|||
# Tags
|
||||
color.tag.next=
|
||||
color.tag.none=
|
||||
color.tagged=color10
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due=color9
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
################################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -25,7 +25,7 @@
|
|||
###############################################################################
|
||||
|
||||
# Colors used are based on the Solarized palette created by Ethan Schoonover
|
||||
# <http://ethanschoonover.com/solarized>
|
||||
# <https://ethanschoonover.com/solarized>
|
||||
#
|
||||
# This theme was designed to work with a terminal application that is using a
|
||||
# Solarized "Dark" color theme, otherwise colors will look odd. Solarized
|
||||
|
@ -74,7 +74,7 @@ color.uda.priority.L=bold color14
|
|||
# Tags
|
||||
color.tag.next=
|
||||
color.tag.none=
|
||||
color.tagged=color14
|
||||
color.tagged=
|
||||
|
||||
# Due
|
||||
color.due=color9
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -40,10 +40,10 @@ services:
|
|||
security_opt:
|
||||
- label=type:container_runtime_t
|
||||
tty: true
|
||||
test-ubuntu1604:
|
||||
test-fedora34:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: test/docker/ubuntu1604
|
||||
dockerfile: test/docker/fedora34
|
||||
network_mode: "host"
|
||||
security_opt:
|
||||
- label=type:container_runtime_t
|
||||
|
@ -64,6 +64,14 @@ services:
|
|||
security_opt:
|
||||
- label=type:container_runtime_t
|
||||
tty: true
|
||||
test-ubuntu2104:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: test/docker/ubuntu2104
|
||||
network_mode: "host"
|
||||
security_opt:
|
||||
- label=type:container_runtime_t
|
||||
tty: true
|
||||
test-debianstable:
|
||||
build:
|
||||
context: .
|
||||
|
|
8518
performance/load
8518
performance/load
File diff suppressed because it is too large
Load diff
8510
performance/sample-text.txt
Normal file
8510
performance/sample-text.txt
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,8 @@
|
|||
cmake_minimum_required (VERSION 3.0)
|
||||
install (DIRECTORY bash fish vim zsh hooks
|
||||
install (DIRECTORY bash fish vim hooks
|
||||
DESTINATION ${TASK_DOCDIR}/scripts)
|
||||
install (FILES zsh/_task
|
||||
DESTINATION share/zsh/site-functions)
|
||||
install (DIRECTORY add-ons
|
||||
DESTINATION ${TASK_DOCDIR}/scripts
|
||||
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#! /usr/bin/perl
|
||||
################################################################################
|
||||
##
|
||||
## Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
## Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
##
|
||||
## Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
## of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -99,7 +99,7 @@ Schwyz:
|
|||
--region Schwyz \
|
||||
--file holidays.de-CH.rc
|
||||
|
||||
See http://holidata.net for details of supported locales and regions.
|
||||
See https://holidata.net for details of supported locales and regions.
|
||||
|
||||
It is recommended that you regularly update your holiday files. Not only does
|
||||
this keep your holiday data current, but allows for corrected data to be used.
|
||||
|
@ -189,7 +189,7 @@ if (open my $fh, '>:utf8', $file)
|
|||
"# ${url_current}\n",
|
||||
"# ${url_next}\n",
|
||||
"#\n",
|
||||
"# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.\n",
|
||||
"# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.\n",
|
||||
"#\n",
|
||||
"# Permission is hereby granted, free of charge, to any person obtaining a copy\n",
|
||||
"# of this software and associated documentation files (the \"Software\"), to deal\n",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
################################################################################
|
||||
#
|
||||
# Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
# Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -46,18 +46,20 @@
|
|||
#
|
||||
# *) Go to the project's website at
|
||||
#
|
||||
# http://taskwarrior.org
|
||||
# https://taskwarrior.org
|
||||
#
|
||||
################################################################################
|
||||
#the following variable is substituted for by ../../test/bash_completion.t
|
||||
taskcommand='task rc.verbose:nothing rc.confirmation:no rc.hooks:off'
|
||||
taskbin='task'
|
||||
taskrc=''
|
||||
taskcommand="rc.verbose:nothing rc.confirmation:no rc.hooks:off ${taskrc}"
|
||||
|
||||
_task_get_tags() {
|
||||
$taskcommand _tags
|
||||
"$taskbin" $taskcommand _tags
|
||||
}
|
||||
|
||||
_task_get_config() {
|
||||
$taskcommand _config
|
||||
"$taskbin" $taskcommand _config
|
||||
}
|
||||
|
||||
_task_offer_priorities() {
|
||||
|
@ -65,14 +67,14 @@ _task_offer_priorities() {
|
|||
}
|
||||
|
||||
_task_offer_projects() {
|
||||
COMPREPLY=( $(compgen -W "$($taskcommand _projects)" -- ${cur/*:/}) )
|
||||
COMPREPLY=( $(compgen -W "$("$taskbin" $taskcommand _projects)" -- ${cur/*:/}) )
|
||||
}
|
||||
|
||||
_task_offer_contexts() {
|
||||
COMPREPLY=( $(compgen -W "$($taskcommand _context) define delete list none show" -- $cur) )
|
||||
COMPREPLY=( $(compgen -W "$("$taskbin" $taskcommand _context) define delete list none show" -- $cur) )
|
||||
}
|
||||
|
||||
_task_context_alias=$($taskcommand show | grep 'alias.*context' | cut -d' ' -f1 | cut -d. -f2)
|
||||
_task_context_alias=$("$taskbin" $taskcommand show | grep 'alias.*context' | cut -d' ' -f1 | cut -d. -f2)
|
||||
|
||||
_task()
|
||||
{
|
||||
|
@ -92,9 +94,9 @@ _task()
|
|||
# echo "prev='$prev'"
|
||||
# echo "prev2='$prev2'"
|
||||
|
||||
abbrev_min=$($taskcommand show | grep "abbreviation.minimum" | awk {'print $2'})
|
||||
commands_aliases=$(echo $($taskcommand _commands; $taskcommand _aliases) | tr " " "\n"|sort|tr "\n" " ")
|
||||
opts="$commands_aliases $($taskcommand _columns)"
|
||||
abbrev_min=$("$taskbin" $taskcommand show | grep "abbreviation.minimum" | awk {'print $2'})
|
||||
commands_aliases=$(echo $("$taskbin" $taskcommand _commands; "$taskbin" $taskcommand _aliases) | tr " " "\n"|sort|tr "\n" " ")
|
||||
opts="$commands_aliases $("$taskbin" $taskcommand _columns)"
|
||||
|
||||
case "${prev}" in
|
||||
$_task_context_alias|cont|conte|contex|context)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Taskwarrior completions for the Fish shell <http://fishshell.org>
|
||||
# Taskwarrior completions for the Fish shell <https://fishshell.com>
|
||||
#
|
||||
# taskwarrior - a command line task list manager.
|
||||
#
|
||||
|
@ -88,7 +88,7 @@ end
|
|||
|
||||
function __fish.task.current.command
|
||||
# find command in commandline by list intersection
|
||||
begin; commandline -pco; and __fish.task.list._command all | cut -d ' ' -f 1; end | sort | uniq -d | xargs
|
||||
begin; commandline -pco; and echo $__fish_task_static_commands; end | sort | uniq -d | xargs
|
||||
end
|
||||
|
||||
function __fish.task.before_command
|
||||
|
@ -104,6 +104,10 @@ end
|
|||
|
||||
function __fish.task.need_to_complete.attr_value
|
||||
__fish.task.need_to_complete.attr_name
|
||||
or return 1
|
||||
# only start completion when there's a colon in attr_name
|
||||
set -l cmd (commandline -ct)
|
||||
string match -q "*:*" "$cmd[-1]"
|
||||
end
|
||||
|
||||
function __fish.task.need_to_complete.command
|
||||
|
@ -123,6 +127,14 @@ function __fish.task.need_to_complete.filter
|
|||
__fish.task.before_command
|
||||
end
|
||||
|
||||
function __fish.task.need_to_complete.tag
|
||||
__fish.task.need_to_complete.attr_name
|
||||
or return 1
|
||||
set -l cmd (commandline -ct)
|
||||
# only start complete when supplied + or -
|
||||
string match -qr -- "^[+-][^+-]*" "$cmd[-1]"
|
||||
end
|
||||
|
||||
function __fish.task.need_to_complete.id
|
||||
__fish.task.need_to_complete.filter
|
||||
end
|
||||
|
@ -143,9 +155,16 @@ function __fish.task.token_clean
|
|||
end
|
||||
|
||||
function __fish.task.list.attr_name
|
||||
task _columns | sed 's/$/: attribute/g'
|
||||
# BUG: doesn't support file completion
|
||||
echo rc
|
||||
# # BUG: doesn't support file completion
|
||||
for attr in (task _columns)
|
||||
if set -l idx (contains -i -- $attr $__fish_task_static_attr_desc_keys)
|
||||
# use builtin friendly description
|
||||
echo -e "$attr:\tattribute:$__fish_task_static_attr_desc_vals[$idx]"
|
||||
else
|
||||
echo -e "$attr:\tattribute"
|
||||
end
|
||||
end
|
||||
echo -e "rc\tConfiguration for taskwarrior"
|
||||
end
|
||||
|
||||
function __fish.task.list.attr_value
|
||||
|
@ -158,7 +177,6 @@ function __fish.task.list.attr_value
|
|||
end
|
||||
end
|
||||
end
|
||||
__fish.task.list.tag
|
||||
end
|
||||
|
||||
function __fish.task.list.attr_value_by_name
|
||||
|
@ -168,7 +186,11 @@ function __fish.task.list.attr_value_by_name
|
|||
__fish.task.list.rc
|
||||
case 'depends' 'limit' 'priority' 'status'
|
||||
__fish.task.combos_simple $attr (__fish.task.list $attr)
|
||||
# case 'description' 'due' 'entry' 'end' 'start' 'project' 'recur' 'until' 'wait'
|
||||
case 'recur'
|
||||
__fish.task.combos_simple $attr (__fish.task.list.date_freq)
|
||||
case 'due' 'until' 'wait' 'entry' 'end' 'start' 'scheduled'
|
||||
__fish.task.combos_simple $attr (__fish.task.list.dates)
|
||||
# case 'description' 'project'
|
||||
case '*'
|
||||
if [ "$task_complete_attribute_modifiers" = 'yes' ]; and echo (commandline -ct) | grep -q '\.'
|
||||
__fish.task.combos_with_mods $attr (__fish.task.list $attr)
|
||||
|
@ -179,9 +201,7 @@ function __fish.task.list.attr_value_by_name
|
|||
end
|
||||
|
||||
function __fish.task.list._command
|
||||
# Removed args until TW-1404 is fixed.
|
||||
#__fish.task.zsh commands $argv
|
||||
__fish.task.zsh commands
|
||||
echo -e $__fish_task_static_commands_with_desc
|
||||
end
|
||||
|
||||
function __fish.task.list.command
|
||||
|
@ -190,9 +210,7 @@ function __fish.task.list.command
|
|||
end
|
||||
|
||||
function __fish.task.list.command_mods
|
||||
for command in 'add' 'annotate' 'append' 'delete' 'done' 'duplicate' 'log' 'modify' 'prepend' 'start' 'stop'
|
||||
echo $command
|
||||
end
|
||||
echo -e $__fish_task_static_command_mods
|
||||
end
|
||||
|
||||
function __fish.task.list.config
|
||||
|
@ -204,29 +222,55 @@ function __fish.task.list.depends
|
|||
end
|
||||
|
||||
function __fish.task.list.description
|
||||
__fish.task.zsh ids $argv | cut -d ' ' -f 2-
|
||||
__fish.task.zsh ids $argv | awk -F"\t" '{print $2 "\tid=" $1}'
|
||||
end
|
||||
|
||||
function __fish.task.list.id
|
||||
set show_type $argv[1]
|
||||
if test -z $show_type
|
||||
task _ids
|
||||
else if [ $show_type = 'with_description' ]
|
||||
else if [ $show_type = 'with_description' ]
|
||||
__fish.task.zsh ids
|
||||
end
|
||||
end
|
||||
|
||||
function __fish.task.list.date_freq
|
||||
set -l cmd (commandline -ct)
|
||||
if set -l user_input_numeric (echo $cmd[-1] | grep -o '[0-9]\+')
|
||||
# show numeric freq like 2d, 4m, etc.
|
||||
echo -e (string replace --all -r "^|\n" "\n$user_input_numeric" $__fish_task_static_freq_numeric | string collect)
|
||||
else
|
||||
echo -e $__fish_task_static_freq
|
||||
end
|
||||
end
|
||||
|
||||
function __fish.task.list.dates
|
||||
set -l cmd (commandline -ct)
|
||||
if set -l user_input_numeric (echo $cmd[-1] | grep -o '[0-9]\+')
|
||||
# show numeric date like 2hrs, 4th, etc.
|
||||
echo -e (string replace --all -r "^|\n" "\n$user_input_numeric" $__fish_task_static_reldates | string collect)
|
||||
# special cases for 1st, 2nd and 3rd, and 4-0th
|
||||
set -l suffix 'th' '4th, 5th, etc.'
|
||||
if string match -q "*1" $user_input_numeric
|
||||
set suffix 'st' 'first'
|
||||
else if string match -q "*2" $user_input_numeric
|
||||
set suffix 'nd' 'second'
|
||||
else if string match -q "*3" $user_input_numeric
|
||||
set suffix 'rd' 'third'
|
||||
end
|
||||
echo -e $user_input_numeric"$suffix[1]\t$suffix[2]"
|
||||
else
|
||||
echo -e $__fish_task_static_dates
|
||||
end
|
||||
end
|
||||
|
||||
# Attribure modifiers (DEPRECATED since 2.4.0)
|
||||
function __fish.task.list.mod
|
||||
for mod in 'before' 'after' 'over' 'under' 'none' 'is' 'isnt' 'has' 'hasnt' 'startswith' 'endswith' 'word' 'noword'
|
||||
echo $mod
|
||||
end
|
||||
echo -e $__fish_task_static_mod
|
||||
end
|
||||
|
||||
function __fish.task.list.priority
|
||||
for priority in 'H' 'M' 'L'
|
||||
echo $priority
|
||||
end
|
||||
echo -e $__fish_task_static_priority
|
||||
end
|
||||
|
||||
function __fish.task.list.project
|
||||
|
@ -234,23 +278,17 @@ function __fish.task.list.project
|
|||
end
|
||||
|
||||
function __fish.task.list.rc
|
||||
for value in (task _config)
|
||||
echo rc.$value:
|
||||
end
|
||||
task _config
|
||||
end
|
||||
|
||||
function __fish.task.list.status
|
||||
echo pending
|
||||
echo completed
|
||||
echo deleted
|
||||
echo waiting
|
||||
echo -e $__fish_task_static_status
|
||||
end
|
||||
|
||||
function __fish.task.list.tag
|
||||
for tag in (task _tags)
|
||||
echo +$tag
|
||||
echo -$tag
|
||||
end
|
||||
set -l tags (task _tags)
|
||||
printf -- '+%s\n' $tags
|
||||
printf -- '-%s\n' $tags
|
||||
end
|
||||
|
||||
function __fish.task.list.task
|
||||
|
@ -302,19 +340,110 @@ function __fish.task.complete
|
|||
set what $argv
|
||||
set list_command "__fish.task.list $what"
|
||||
set check_function "__fish.task.need_to_complete $what"
|
||||
complete -c task -u -f -n $check_function -a "(eval $list_command)"
|
||||
complete -c task -u -k -f -n $check_function -a "(eval $list_command)"
|
||||
end
|
||||
|
||||
__fish.task.complete command all
|
||||
__fish.task.complete command filter
|
||||
# static variables that won't changes even when taskw's data is modified
|
||||
set __fish_task_static_commands_with_desc (__fish.task.zsh commands | sort | string collect)
|
||||
set __fish_task_static_commands (echo -e $__fish_task_static_commands_with_desc | cut -d ' ' -f 1 | string collect)
|
||||
set __fish_task_static_command_mods (printf -- '%s\n' 'add' 'annotate' 'append' 'delete' 'done' 'duplicate' 'log' 'modify' 'prepend' 'start' 'stop' | string collect)
|
||||
set __fish_task_static_mod (printf -- '%s\n' 'before' 'after' 'over' 'under' 'none' 'is' 'isnt' 'has' 'hasnt' 'startswith' 'endswith' 'word' 'noword' | string collect)
|
||||
set __fish_task_static_status (printf -- '%s\tstatus\n' 'pending' 'completed' 'deleted' 'waiting' | string collect)
|
||||
set __fish_task_static_priority (printf -- '%s\n' 'H\tHigh' 'M\tMiddle' 'L\tLow' | string collect)
|
||||
|
||||
set __fish_task_static_freq 'daily:Every day' \
|
||||
'day:Every day' \
|
||||
'weekdays:Every day skipping weekend days' \
|
||||
'weekly:Every week' \
|
||||
'biweekly:Every two weeks' \
|
||||
'fortnight:Every two weeks' \
|
||||
'monthly:Every month' \
|
||||
'quarterly:Every three months' \
|
||||
'semiannual:Every six months' \
|
||||
'annual:Every year' \
|
||||
'yearly:Every year' \
|
||||
'biannual:Every two years' \
|
||||
'biyearly:Every two years'
|
||||
set __fish_task_static_freq (printf -- '%s\n' $__fish_task_static_freq | sed 's/:/\t/' | string collect)
|
||||
set __fish_task_static_freq_numeric 'd:days' \
|
||||
'w:weeks' \
|
||||
'q:quarters' \
|
||||
'y:years'
|
||||
set __fish_task_static_freq_numeric (printf -- '%s\n' $__fish_task_static_freq_numeric | sed 's/:/\t/' | string collect)
|
||||
set __fish_task_static_freq_numeric 'd:days' \
|
||||
'w:weeks' \
|
||||
'q:quarters' \
|
||||
'y:years'
|
||||
set __fish_task_static_freq_numeric (printf -- '%s\n' $__fish_task_static_freq_numeric | sed 's/:/\t/' | string collect)
|
||||
set __fish_task_static_dates 'today:Today' \
|
||||
'yesterday:Yesterday' \
|
||||
'tomorrow:Tomorrow' \
|
||||
'sow:Start of week' \
|
||||
'soww:Start of work week' \
|
||||
'socw:Start of calendar week' \
|
||||
'som:Start of month' \
|
||||
'soq:Start of quarter' \
|
||||
'soy:Start of year' \
|
||||
'eow:End of week' \
|
||||
'eoww:End of work week' \
|
||||
'eocw:End of calendar week' \
|
||||
'eom:End of month' \
|
||||
'eoq:End of quarter' \
|
||||
'eoy:End of year' \
|
||||
'mon:Monday' \
|
||||
'tue:Tuesday'\
|
||||
'wed:Wednesday' \
|
||||
'thu:Thursday' \
|
||||
'fri:Friday' \
|
||||
'sat:Saturday' \
|
||||
'sun:Sunday' \
|
||||
'goodfriday:Good Friday' \
|
||||
'easter:Easter' \
|
||||
'eastermonday:Easter Monday' \
|
||||
'ascension:Ascension' \
|
||||
'pentecost:Pentecost' \
|
||||
'midsommar:Midsommar' \
|
||||
'midsommarafton:Midsommarafton' \
|
||||
'later:Later' \
|
||||
'someday:Some Day'
|
||||
set __fish_task_static_dates (printf -- '%s\n' $__fish_task_static_dates | sed 's/:/\t/' | string collect)
|
||||
set __fish_task_static_reldates 'hrs:n hours' \
|
||||
'day:n days' \
|
||||
# '1st:first' \
|
||||
# '2nd:second' \
|
||||
# '3rd:third' \
|
||||
# 'th:4th, 5th, etc.' \
|
||||
'wks:weeks'
|
||||
set __fish_task_static_reldates (printf -- '%s\n' $__fish_task_static_reldates | sed 's/:/\t/' | string collect)
|
||||
# the followings are actually not used for autocomplete, but to retrieve friendly description that aren't present in internal command
|
||||
set __fish_task_static_attr_desc_keys 'description' 'status' 'project' \
|
||||
'priority' 'due' 'recur' \
|
||||
'until' 'limit' 'wait' \
|
||||
'entry' 'end' 'start' \
|
||||
'scheduled' 'dependson'
|
||||
set __fish_task_static_attr_desc_vals 'Task description text' 'Status of task - pending, completed, deleted, waiting' \
|
||||
'Project name' 'Task priority' 'Due date' 'Recurrence frequency' 'Expiration date' \
|
||||
'Desired number of rows in report' 'Date until task becomes pending' \
|
||||
'Date task was created' 'Date task was completed/deleted' 'Date task was started' \
|
||||
'Date task is scheduled to start' 'Other tasks that this task depends upon'
|
||||
|
||||
# fish's auto-completion when multiple `complete` have supplied with '-k' flag, the last will be displayed first
|
||||
__fish.task.complete config
|
||||
__fish.task.complete attr_value
|
||||
__fish.task.complete attr_name
|
||||
__fish.task.complete config
|
||||
__fish.task.complete tag
|
||||
# __fish.task.complete command all
|
||||
# __fish.task.complete command filter
|
||||
# The following are static so we will expand it when initialised. Display underscore (internal) commands last
|
||||
set -l __fish_task_static_commands_underscore (echo -e $__fish_task_static_commands_with_desc | grep '^[_]' | string collect | string escape)
|
||||
set -l __fish_task_static_commands_normal (echo -e $__fish_task_static_commands_with_desc | grep '^[^_]' | string collect | string escape)
|
||||
complete -c task -u -k -f -n "__fish.task.before_command" -a "$__fish_task_static_commands_underscore"
|
||||
complete -c task -u -k -f -n "__fish.task.before_command" -a "$__fish_task_static_commands_normal"
|
||||
|
||||
if [ "$task_complete_task" = 'yes' ]
|
||||
__fish.task.complete task
|
||||
__fish.task.complete task
|
||||
end
|
||||
|
||||
if [ "$task_complete_id" = 'yes' ]
|
||||
__fish.task.complete id with_description
|
||||
__fish.task.complete id with_description
|
||||
end
|
||||
|
|
|
@ -8,6 +8,7 @@ scripts will be run.
|
|||
Expected Location
|
||||
The hooks scripts all reside in one location, which is in a 'hooks'
|
||||
subdirectory, in your ~/.task (or rc.data.location override) directory.
|
||||
You can use the command `task diagnostics` to verify hooks location.
|
||||
|
||||
Expected Name
|
||||
A hook scripts must be named according to which event triggers the script. A
|
||||
|
|
34
scripts/reproduce-dockerfile
Normal file
34
scripts/reproduce-dockerfile
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Dockerfile for containers to perform PR review in
|
||||
# Use with make as follows: make RELEASE=v2.5.1 reproduce
|
||||
|
||||
FROM centos:8
|
||||
|
||||
RUN dnf update -y
|
||||
RUN yum install epel-release -y
|
||||
RUN dnf install python38 git gcc gcc-c++ cmake make gnutls-devel libuuid-devel libfaketime sudo man gdb -y
|
||||
|
||||
RUN useradd warrior
|
||||
RUN echo warrior ALL=NOPASSWD:ALL > /etc/sudoers.d/warrior
|
||||
|
||||
USER warrior
|
||||
WORKDIR /home/warrior/
|
||||
|
||||
# Setup taskwarrior
|
||||
# The purpose is to speed up subsequent re-installs due to Docker layer caching
|
||||
RUN git clone https://github.com/GothenburgBitFactory/taskwarrior.git
|
||||
WORKDIR /home/warrior/taskwarrior/
|
||||
RUN git submodule init
|
||||
|
||||
# Install the given release
|
||||
ARG RELEASE
|
||||
RUN git checkout $RELEASE
|
||||
RUN git submodule update --init
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN sudo make install
|
||||
|
||||
# Set the PS1 variable
|
||||
ENV PS1="[\u@\H \W]\$ "
|
||||
|
||||
WORKDIR /home/warrior
|
||||
RUN task rc.confirmation=0 _ids || : # Generate default taskrc
|
46
scripts/review-dockerfile
Normal file
46
scripts/review-dockerfile
Normal file
|
@ -0,0 +1,46 @@
|
|||
# Dockerfile for containers to perform PR review in
|
||||
# Use with make as follows: make PR=1234 review
|
||||
|
||||
FROM centos:8
|
||||
|
||||
RUN dnf update -y
|
||||
RUN yum install epel-release -y
|
||||
RUN dnf install python38 git gcc gcc-c++ cmake make gnutls-devel libuuid-devel libfaketime sudo man -y
|
||||
|
||||
RUN useradd warrior
|
||||
RUN echo warrior ALL=NOPASSWD:ALL > /etc/sudoers.d/warrior
|
||||
|
||||
USER warrior
|
||||
WORKDIR /home/warrior/
|
||||
|
||||
# Setup taskwarrior
|
||||
# The purpose is to speed up subsequent re-installs due to Docker layer caching
|
||||
RUN git clone https://github.com/GothenburgBitFactory/taskwarrior.git
|
||||
WORKDIR /home/warrior/taskwarrior/
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN sudo make install
|
||||
|
||||
# Use specified PR's branch, if provided
|
||||
ARG PR
|
||||
RUN if [[ ! -z $PR ]]; then \
|
||||
git fetch origin refs/pull/${PR}/head:pr-${PR}; \
|
||||
git checkout pr-${PR}; fi
|
||||
|
||||
# Use specified libshared PR's branch, if provided
|
||||
ARG LIBPR
|
||||
WORKDIR /home/warrior/taskwarrior/src/libshared/
|
||||
RUN if [[ ! -z $LIBPR ]]; then \
|
||||
git fetch origin refs/pull/${LIBPR}/head:libpr-${LIBPR}; \
|
||||
git checkout libpr-${LIBPR}; fi
|
||||
|
||||
# Install taskwarrior
|
||||
WORKDIR /home/warrior/taskwarrior/
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j8
|
||||
RUN sudo make install
|
||||
|
||||
WORKDIR /home/warrior
|
||||
RUN task rc.confirmation=0 _ids || : # Generate default taskrc
|
449
src/CLI2.cpp
449
src/CLI2.cpp
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -34,6 +34,10 @@
|
|||
#include <Color.h>
|
||||
#include <shared.h>
|
||||
#include <format.h>
|
||||
#include <CmdCustom.h>
|
||||
#include <CmdTimesheet.h>
|
||||
#include <utf8.h>
|
||||
|
||||
|
||||
// Overridden by rc.abbreviation.minimum.
|
||||
int CLI2::minimumMatchLength = 3;
|
||||
|
@ -49,21 +53,10 @@ A2::A2 (const std::string& raw, Lexer::Type lextype)
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
A2::A2 (const A2& other)
|
||||
: _lextype (other._lextype)
|
||||
, _tags (other._tags)
|
||||
, _attributes (other._attributes)
|
||||
{
|
||||
}
|
||||
A2::A2 (const A2& other) = default;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
A2& A2::operator= (const A2& other)
|
||||
{
|
||||
_lextype = other._lextype;
|
||||
_tags = other._tags;
|
||||
_attributes = other._attributes;
|
||||
return *this;
|
||||
}
|
||||
A2& A2::operator= (const A2& other) = default;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
bool A2::hasTag (const std::string& tag) const
|
||||
|
@ -214,94 +207,87 @@ const std::string A2::dump () const
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Static method.
|
||||
void CLI2::getOverride (int argc, const char** argv, std::string& home, File& rc)
|
||||
static
|
||||
const char* getValue (int argc, const char** argv, std::string arg)
|
||||
{
|
||||
for (int i = 0; i < argc; ++i)
|
||||
const auto is_arg = [&] (std::string s)
|
||||
{
|
||||
std::string raw = argv[i];
|
||||
if (raw == "--")
|
||||
return;
|
||||
return s.size () > arg.size () + 1
|
||||
&& (s[arg.size ()] == ':' || s[arg.size ()] == '=')
|
||||
&& s.compare (0, arg.size (), arg) == 0;
|
||||
};
|
||||
// find last argument before --
|
||||
auto last = std::make_reverse_iterator (argv);
|
||||
auto first = std::make_reverse_iterator (
|
||||
std::find (argv, argv + argc, std::string ("--")));
|
||||
auto it = std::find_if (first, last, is_arg);
|
||||
if (it == last)
|
||||
return nullptr;
|
||||
// return the string after : or =
|
||||
return *it + arg.size () + 1;
|
||||
}
|
||||
|
||||
if (raw.length () >= 3 &&
|
||||
raw.substr (0, 3) == "rc:")
|
||||
{
|
||||
rc = raw.substr (3);
|
||||
|
||||
home = ".";
|
||||
auto last_slash = rc._data.rfind ("/");
|
||||
if (last_slash != std::string::npos)
|
||||
home = rc.parent ();
|
||||
|
||||
Context::getContext ().header (format ("Using alternate .taskrc file {1}", rc._data));
|
||||
|
||||
// Keep looping, because if there are multiple rc:file arguments, the last
|
||||
// one should dominate.
|
||||
}
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Static method.
|
||||
bool CLI2::getOverride (int argc, const char** argv, File& rc)
|
||||
{
|
||||
const char* value = getValue (argc, argv, "rc");
|
||||
if (value == nullptr)
|
||||
return false;
|
||||
rc = File (value);
|
||||
return true;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Look for CONFIG data.location and initialize a Path object.
|
||||
// Static method.
|
||||
void CLI2::getDataLocation (int argc, const char** argv, Path& data)
|
||||
bool CLI2::getDataLocation (int argc, const char** argv, Path& data)
|
||||
{
|
||||
std::string location = Context::getContext ().config.get ("data.location");
|
||||
if (location != "")
|
||||
data = location;
|
||||
|
||||
for (int i = 0; i < argc; ++i)
|
||||
const char* value = getValue (argc, argv, "rc.data.location");
|
||||
if (value == nullptr)
|
||||
{
|
||||
std::string raw = argv[i];
|
||||
if (raw == "--")
|
||||
break;
|
||||
|
||||
if (raw.length () > 17 &&
|
||||
raw.substr (0, 16) == "rc.data.location")
|
||||
{
|
||||
data = Directory (raw.substr (17));
|
||||
Context::getContext ().header (format ("Using alternate data.location {1}", (std::string) data));
|
||||
|
||||
// Keep looping, because if there are multiple rc:file arguments, the last
|
||||
// one should dominate.
|
||||
}
|
||||
std::string location = Context::getContext ().config.get ("data.location");
|
||||
if (location != "")
|
||||
data = location;
|
||||
return false;
|
||||
}
|
||||
data = Directory (value);
|
||||
return true;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Static method.
|
||||
void CLI2::applyOverrides (int argc, const char** argv)
|
||||
{
|
||||
for (int i = 0; i < argc; ++i)
|
||||
auto& context = Context::getContext ();
|
||||
auto last = std::find (argv, argv + argc, std::string ("--"));
|
||||
auto is_override = [] (const std::string& s)
|
||||
{
|
||||
|
||||
// Don't process any arguments after a '--'
|
||||
std::string raw = argv[i];
|
||||
if (raw == "--")
|
||||
break;
|
||||
|
||||
// Overrides always start with 'rc.'
|
||||
if (raw.length () > 3 &&
|
||||
raw.substr (0, 3) == "rc.")
|
||||
{
|
||||
|
||||
// Our separator can either be '=' or ':', so try and find both.
|
||||
auto sep = raw.find ('=', 3);
|
||||
if (sep == std::string::npos)
|
||||
sep = raw.find (':', 3);
|
||||
|
||||
// Process our override if well-formed
|
||||
if (sep != std::string::npos)
|
||||
{
|
||||
std::string name = raw.substr (3, sep - 3);
|
||||
std::string value = raw.substr (sep + 1);
|
||||
Context::getContext ().config.set (name, value);
|
||||
|
||||
if (Context::getContext ().verbose("override"))
|
||||
Context::getContext ().footnote (format ("Configuration override rc.{1}:{2}", name, value));
|
||||
}
|
||||
}
|
||||
}
|
||||
return s.compare (0, 3, "rc.") == 0;
|
||||
};
|
||||
auto get_sep = [&] (const std::string& s)
|
||||
{
|
||||
if (is_override (s))
|
||||
return s.find_first_of (":=", 3);
|
||||
return std::string::npos;
|
||||
};
|
||||
auto override_settings = [&] (std::string raw)
|
||||
{
|
||||
auto sep = get_sep (raw);
|
||||
if (sep == std::string::npos)
|
||||
return;
|
||||
std::string name = raw.substr (3, sep - 3);
|
||||
std::string value = raw.substr (sep + 1);
|
||||
context.config.set (name, value);
|
||||
};
|
||||
auto display_overrides = [&] (std::string raw)
|
||||
{
|
||||
if (is_override (raw))
|
||||
context.footnote (format ("Configuration override {1}", raw));
|
||||
};
|
||||
std::for_each (argv, last, override_settings);
|
||||
if (context.verbose ("override"))
|
||||
std::for_each (argv, last, display_overrides);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -320,7 +306,7 @@ void CLI2::entity (const std::string& category, const std::string& name)
|
|||
return;
|
||||
|
||||
// The category/name pair was not found, therefore add it.
|
||||
_entities.insert (std::pair <std::string, std::string> (category, name));
|
||||
_entities.emplace (category, name);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -336,15 +322,16 @@ void CLI2::add (const std::string& argument)
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Capture a set of arguments, inserted immediately after the binary.
|
||||
void CLI2::add (const std::vector <std::string>& arguments)
|
||||
// Capture a set of arguments, inserted immediately after <offset> arguments
|
||||
// after the binary..
|
||||
void CLI2::add (const std::vector <std::string>& arguments, int offset /* = 0 */)
|
||||
{
|
||||
std::vector <A2> replacement {_original_args[0]};
|
||||
std::vector <A2> replacement {_original_args.begin(), _original_args.begin() + offset + 1};
|
||||
|
||||
for (const auto& arg : arguments)
|
||||
replacement.push_back (A2 (arg, Lexer::Type::word));
|
||||
replacement.emplace_back (arg, Lexer::Type::word);
|
||||
|
||||
for (unsigned int i = 1; i < _original_args.size (); ++i)
|
||||
for (unsigned int i = 1 + offset; i < _original_args.size (); ++i)
|
||||
replacement.push_back (_original_args[i]);
|
||||
|
||||
_original_args = replacement;
|
||||
|
@ -428,14 +415,33 @@ void CLI2::lexArguments ()
|
|||
_args.push_back (a);
|
||||
}
|
||||
|
||||
// Process muktiple-token arguments.
|
||||
// Process multiple-token arguments.
|
||||
else
|
||||
{
|
||||
std::string quote = "'";
|
||||
std::string escaped = _original_args[i].attribute ("raw");
|
||||
escaped = str_replace (escaped, quote, "\\'");
|
||||
const std::string quote = "'";
|
||||
|
||||
// Escape unescaped single quotes
|
||||
std::string escaped = "";
|
||||
|
||||
// For performance reasons. The escaped string is as long as the original.
|
||||
escaped.reserve (_original_args[i].attribute ("raw").size ());
|
||||
|
||||
std::string::size_type cursor = 0;
|
||||
bool nextEscaped = false;
|
||||
while (int num = utf8_next_char (_original_args[i].attribute ("raw"), cursor))
|
||||
{
|
||||
std::string character = utf8_character (num);
|
||||
if (!nextEscaped && (character == "\\"))
|
||||
nextEscaped = true;
|
||||
else {
|
||||
if (character == quote && !nextEscaped)
|
||||
escaped += "\\";
|
||||
nextEscaped = false;
|
||||
}
|
||||
escaped += character;
|
||||
}
|
||||
|
||||
cursor = 0;
|
||||
std::string word;
|
||||
if (Lexer::readWord (quote + escaped + quote, quote, cursor, word))
|
||||
{
|
||||
|
@ -540,10 +546,14 @@ void CLI2::analyze ()
|
|||
// Determine arg types: FILTER, MODIFICATION, MISCELLANEOUS.
|
||||
categorizeArgs ();
|
||||
parenthesizeOriginalFilter ();
|
||||
|
||||
// Cache frequently looked up items
|
||||
_command = getCommand ();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Process raw string.
|
||||
// Process raw filter string.
|
||||
// Insert filter arguments (wrapped in parentheses) immediatelly after the binary.
|
||||
void CLI2::addFilter (const std::string& arg)
|
||||
{
|
||||
if (arg.length ())
|
||||
|
@ -564,49 +574,89 @@ void CLI2::addFilter (const std::string& arg)
|
|||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Process raw modification string.
|
||||
// Insert modification arguments immediatelly after the command (i.e. 'add')
|
||||
void CLI2::addModifications (const std::string& arg)
|
||||
{
|
||||
if (arg.length ())
|
||||
{
|
||||
std::vector <std::string> mods;
|
||||
|
||||
std::string lexeme;
|
||||
Lexer::Type type;
|
||||
Lexer lex (arg);
|
||||
|
||||
while (lex.token (lexeme, type))
|
||||
mods.push_back (lexeme);
|
||||
|
||||
// Determine at which argument index does the task modification command
|
||||
// reside
|
||||
unsigned int cmdIndex = 0;
|
||||
for (; cmdIndex < _args.size(); ++cmdIndex)
|
||||
{
|
||||
// Command found, stop iterating.
|
||||
if (_args[cmdIndex].hasTag ("CMD"))
|
||||
break;
|
||||
}
|
||||
|
||||
// Insert modifications after the command.
|
||||
add (mods, cmdIndex);
|
||||
analyze ();
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// There are situations where a context filter is applied. This method
|
||||
// determines whether one applies, and if so, applies it. Disqualifiers include:
|
||||
// - filter contains ID or UUID
|
||||
void CLI2::addContextFilter ()
|
||||
void CLI2::addContext (bool readable, bool writeable)
|
||||
{
|
||||
// Recursion block.
|
||||
if (_context_filter_added)
|
||||
if (_context_added)
|
||||
return;
|
||||
|
||||
// Detect if any context is set, and bail out if not
|
||||
std::string contextName = Context::getContext ().config.get ("context");
|
||||
if (contextName == "")
|
||||
{
|
||||
Context::getContext ().debug ("No context.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Detect if UUID or ID is set, and bail out
|
||||
for (auto& a : _args)
|
||||
{
|
||||
if (a._lextype == Lexer::Type::uuid ||
|
||||
a._lextype == Lexer::Type::number ||
|
||||
a._lextype == Lexer::Type::set)
|
||||
{
|
||||
Context::getContext ().debug (format ("UUID/ID argument found '{1}', not applying context.", a.attribute ("raw")));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Apply context
|
||||
Context::getContext ().debug ("Applying context: " + contextName);
|
||||
std::string contextFilter = Context::getContext ().config.get ("context." + contextName);
|
||||
|
||||
if (contextFilter == "")
|
||||
Context::getContext ().debug ("Context '" + contextName + "' not defined.");
|
||||
std::string contextString;
|
||||
if (readable)
|
||||
// Empty string is treated as "currently selected context"
|
||||
contextString = Context::getContext ().getTaskContext("read", "");
|
||||
else if (writeable)
|
||||
contextString = Context::getContext ().getTaskContext("write", "");
|
||||
else
|
||||
{
|
||||
_context_filter_added = true;
|
||||
addFilter (contextFilter);
|
||||
if (Context::getContext ().verbose ("context"))
|
||||
Context::getContext ().footnote (format ("Context '{1}' set. Use 'task context none' to remove.", contextName));
|
||||
}
|
||||
return;
|
||||
|
||||
// If context is empty, bail out too
|
||||
if (contextString.empty ())
|
||||
return;
|
||||
|
||||
// For readable contexts: Detect if UUID or ID is set, and bail out
|
||||
if (readable)
|
||||
for (auto& a : _args)
|
||||
{
|
||||
if (a._lextype == Lexer::Type::uuid ||
|
||||
a._lextype == Lexer::Type::number ||
|
||||
a._lextype == Lexer::Type::set)
|
||||
{
|
||||
Context::getContext ().debug (format ("UUID/ID argument found '{1}', not applying context.", a.attribute ("raw")));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Apply the context. Readable (filtering) takes precedence. Also set the
|
||||
// block now, since addFilter calls analyze(), which calls addContext().
|
||||
_context_added = true;
|
||||
if (readable)
|
||||
addFilter (contextString);
|
||||
else if (writeable)
|
||||
addModifications (contextString);
|
||||
|
||||
// Inform the user about the application of context
|
||||
if (Context::getContext ().verbose ("context"))
|
||||
Context::getContext ().footnote (format (
|
||||
"Context '{1}' set. Use 'task context none' to remove.",
|
||||
Context::getContext ().config.get ("context")
|
||||
));
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -617,7 +667,7 @@ void CLI2::prepareFilter ()
|
|||
// Clear and re-populate.
|
||||
_id_ranges.clear ();
|
||||
_uuid_list.clear ();
|
||||
_context_filter_added = false;
|
||||
_context_added = false;
|
||||
|
||||
// Remove all the syntactic sugar for FILTERs.
|
||||
lexFilterArgs ();
|
||||
|
@ -651,7 +701,7 @@ void CLI2::prepareFilter ()
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Return all the MISCELLANEOUS args.
|
||||
// Return all the MISCELLANEOUS args as strings.
|
||||
const std::vector <std::string> CLI2::getWords ()
|
||||
{
|
||||
std::vector <std::string> words;
|
||||
|
@ -671,13 +721,36 @@ const std::vector <std::string> CLI2::getWords ()
|
|||
return words;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Return all the MISCELLANEOUS args.
|
||||
const std::vector <A2> CLI2::getMiscellaneous ()
|
||||
{
|
||||
std::vector <A2> misc;
|
||||
for (const auto& a : _args)
|
||||
if (a.hasTag ("MISCELLANEOUS"))
|
||||
misc.push_back (a);
|
||||
|
||||
return misc;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Search for 'value' in _entities category, return canonicalized value.
|
||||
bool CLI2::canonicalize (
|
||||
std::string& canonicalized,
|
||||
const std::string& category,
|
||||
const std::string& value) const
|
||||
const std::string& value)
|
||||
{
|
||||
// Utilize a cache mapping of (category, value) -> canonicalized value.
|
||||
// This cache does not need to be invalidated, because entities are defined
|
||||
// only once per initialization of the Context object.
|
||||
int cache_key = 31 * std::hash<std::string>{} (category) + std::hash<std::string>{} (value);
|
||||
auto cache_result = _canonical_cache.find (cache_key);
|
||||
if (cache_result != _canonical_cache.end())
|
||||
{
|
||||
canonicalized = cache_result->second;
|
||||
return true;
|
||||
}
|
||||
|
||||
// Extract a list of entities for category.
|
||||
std::vector <std::string> options;
|
||||
auto c = _entities.equal_range (category);
|
||||
|
@ -687,6 +760,7 @@ bool CLI2::canonicalize (
|
|||
if (value == e->second)
|
||||
{
|
||||
canonicalized = value;
|
||||
_canonical_cache[cache_key] = value;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -698,6 +772,7 @@ bool CLI2::canonicalize (
|
|||
if (autoComplete (value, options, matches, minimumMatchLength) == 1)
|
||||
{
|
||||
canonicalized = matches[0];
|
||||
_canonical_cache[cache_key] = matches[0];
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -716,6 +791,10 @@ std::string CLI2::getBinary () const
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
std::string CLI2::getCommand (bool canonical) const
|
||||
{
|
||||
// Shortcut if analysis has been finalized
|
||||
if (_command != "")
|
||||
return _command;
|
||||
|
||||
for (const auto& a : _args)
|
||||
if (a.hasTag ("CMD"))
|
||||
return a.attribute (canonical ? "canonical" : "raw");
|
||||
|
@ -806,7 +885,7 @@ void CLI2::aliasExpansion ()
|
|||
Lexer::Type type;
|
||||
Lexer lex (_aliases[raw]);
|
||||
while (lex.token (lexeme, type))
|
||||
reconstructed.push_back (A2 (lexeme, type));
|
||||
reconstructed.emplace_back (lexeme, type);
|
||||
|
||||
action = true;
|
||||
changes = true;
|
||||
|
@ -836,7 +915,7 @@ void CLI2::aliasExpansion ()
|
|||
Lexer::Type type;
|
||||
Lexer lex (_aliases[i.attribute ("raw")]);
|
||||
while (lex.token (lexeme, type))
|
||||
reconstructedOriginals.push_back (A2 (lexeme, type));
|
||||
reconstructedOriginals.emplace_back (lexeme, type);
|
||||
|
||||
action = true;
|
||||
changes = true;
|
||||
|
@ -901,8 +980,24 @@ void CLI2::categorizeArgs ()
|
|||
// Context is only applied for commands that request it.
|
||||
std::string command = getCommand ();
|
||||
Command* cmd = Context::getContext ().commands[command];
|
||||
if (cmd && cmd->uses_context ())
|
||||
addContextFilter ();
|
||||
|
||||
// Determine if the command uses Context. CmdCustom and CmdTimesheet need to
|
||||
// be handled separately, as they override the parent Command::use_context
|
||||
// method, and this is a pointer to Command class.
|
||||
//
|
||||
// All Command classes overriding uses_context () getter need to be specified
|
||||
// here.
|
||||
bool uses_context;
|
||||
if (dynamic_cast<CmdCustom*> (cmd))
|
||||
uses_context = (dynamic_cast<CmdCustom*> (cmd))->uses_context ();
|
||||
else if (dynamic_cast<CmdTimesheet*> (cmd))
|
||||
uses_context = (dynamic_cast<CmdTimesheet*> (cmd))->uses_context ();
|
||||
else if (cmd)
|
||||
uses_context = cmd->uses_context ();
|
||||
|
||||
// Apply the context, if applicable
|
||||
if (cmd && uses_context)
|
||||
addContext (cmd->accepts_filter (), cmd->accepts_modifications ());
|
||||
|
||||
bool changes = false;
|
||||
bool afterCommand = false;
|
||||
|
@ -1277,7 +1372,9 @@ void CLI2::desugarFilterAttributes ()
|
|||
A2 op ("", Lexer::Type::op);
|
||||
op.tag ("FILTER");
|
||||
|
||||
A2 rhs ("", values[0]._lextype);
|
||||
// Attribute types that do not support evaluation should be interpreted
|
||||
// as strings (currently this means that string attributes are not evaluated)
|
||||
A2 rhs ("", evalSupported ? values[0]._lextype: Lexer::Type::string);
|
||||
rhs.tag ("FILTER");
|
||||
|
||||
// Special case for '<name>:<value>'.
|
||||
|
@ -1296,6 +1393,11 @@ void CLI2::desugarFilterAttributes ()
|
|||
op.attribute ("raw", ">");
|
||||
rhs.attribute ("raw", value);
|
||||
}
|
||||
else if (mod == "by")
|
||||
{
|
||||
op.attribute ("raw", "<=");
|
||||
rhs.attribute ("raw", value);
|
||||
}
|
||||
else if (mod == "none")
|
||||
{
|
||||
op.attribute ("raw", "==");
|
||||
|
@ -1371,7 +1473,7 @@ void CLI2::desugarFilterAttributes ()
|
|||
|
||||
// Do not modify this construct without full understanding.
|
||||
// Getting this wrong breaks a whole lot of filtering tests.
|
||||
if (values.size () > 1 || evalSupported)
|
||||
if (evalSupported)
|
||||
{
|
||||
for (auto& v : values)
|
||||
reconstructed.push_back (v);
|
||||
|
@ -1486,7 +1588,7 @@ void CLI2::findIDs ()
|
|||
{
|
||||
changes = true;
|
||||
std::string number = a.attribute ("raw");
|
||||
_id_ranges.push_back (std::pair <std::string, std::string> (number, number));
|
||||
_id_ranges.emplace_back (number, number);
|
||||
}
|
||||
}
|
||||
else if (a._lextype == Lexer::Type::set)
|
||||
|
@ -1497,11 +1599,11 @@ void CLI2::findIDs ()
|
|||
for (auto& element : elements)
|
||||
{
|
||||
changes = true;
|
||||
auto hyphen = element.find ("-");
|
||||
auto hyphen = element.find ('-');
|
||||
if (hyphen != std::string::npos)
|
||||
_id_ranges.push_back (std::pair <std::string, std::string> (element.substr (0, hyphen), element.substr (hyphen + 1)));
|
||||
_id_ranges.emplace_back (element.substr (0, hyphen), element.substr (hyphen + 1));
|
||||
else
|
||||
_id_ranges.push_back (std::pair <std::string, std::string> (element, element));
|
||||
_id_ranges.emplace_back (element, element);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1539,7 +1641,7 @@ void CLI2::findIDs ()
|
|||
changes = true;
|
||||
a.unTag ("MODIFICATION");
|
||||
a.tag ("FILTER");
|
||||
_id_ranges.push_back (std::pair <std::string, std::string> (raw, raw));
|
||||
_id_ranges.emplace_back (raw, raw);
|
||||
}
|
||||
else if (a._lextype == Lexer::Type::set)
|
||||
{
|
||||
|
@ -1552,11 +1654,11 @@ void CLI2::findIDs ()
|
|||
for (const auto& element : elements)
|
||||
{
|
||||
changes = true;
|
||||
auto hyphen = element.find ("-");
|
||||
auto hyphen = element.find ('-');
|
||||
if (hyphen != std::string::npos)
|
||||
_id_ranges.push_back (std::pair <std::string, std::string> (element.substr (0, hyphen), element.substr (hyphen + 1)));
|
||||
_id_ranges.emplace_back (element.substr (0, hyphen), element.substr (hyphen + 1));
|
||||
else
|
||||
_id_ranges.push_back (std::pair <std::string, std::string> (element, element));
|
||||
_id_ranges.emplace_back (element, element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1846,7 +1948,9 @@ void CLI2::lexFilterArgs ()
|
|||
// - task ... argX candidate argY
|
||||
// Where:
|
||||
// - neither argX nor argY are an operator, except (, ), and, or, xor
|
||||
// - candidate is Lexer::Type::word
|
||||
// - candidate is one of: Lexer::Type::word
|
||||
// Lexer::Type::identifier
|
||||
// Lexer::Type::date
|
||||
//
|
||||
void CLI2::desugarFilterPlainArgs ()
|
||||
{
|
||||
|
@ -1868,6 +1972,7 @@ void CLI2::desugarFilterPlainArgs ()
|
|||
ppraw == "xor") &&
|
||||
|
||||
(prev->_lextype == Lexer::Type::identifier || // candidate
|
||||
prev->_lextype == Lexer::Type::date || // candidate
|
||||
prev->_lextype == Lexer::Type::word) && // candidate
|
||||
|
||||
prev->hasTag ("FILTER") && // candidate
|
||||
|
@ -1945,6 +2050,40 @@ void CLI2::desugarFilterPlainArgs ()
|
|||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Detects if the bracket at iterator it is a start or end of an empty paren expression
|
||||
// Examples:
|
||||
// ( status = pending ) ( )
|
||||
// ^
|
||||
// it -----| => true
|
||||
//
|
||||
// ( status = pending ) ( project = Home )
|
||||
// ^
|
||||
// it -----| => false
|
||||
bool CLI2::isEmptyParenExpression (std::vector<A2>::iterator it, bool forward /* = true */) const
|
||||
{
|
||||
int open = 0;
|
||||
int closed = 0;
|
||||
|
||||
for (auto a = it; a != (forward ? _args.end (): _args.begin()); (forward ? ++a: --a))
|
||||
{
|
||||
if (a->attribute("raw") == "(")
|
||||
open++;
|
||||
else if (a->attribute("raw") == ")")
|
||||
closed++;
|
||||
else
|
||||
// Encountering a non-paren token means there is something between parenthees
|
||||
return false;
|
||||
|
||||
// Getting balanced parentheses means we have an empty paren expression
|
||||
if (open == closed && open != 0)
|
||||
return true;
|
||||
}
|
||||
|
||||
// Should not end here.
|
||||
return false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Two consecutive FILTER, non-OP arguments that are not "(" or ")" need an
|
||||
// "and" operator inserted between them.
|
||||
|
@ -1971,10 +2110,18 @@ void CLI2::insertJunctions ()
|
|||
// Insert AND between terms.
|
||||
else if (a != prev)
|
||||
{
|
||||
if ((prev->_lextype != Lexer::Type::op && a->attribute ("raw") == "(") ||
|
||||
(prev->_lextype != Lexer::Type::op && a->_lextype != Lexer::Type::op) ||
|
||||
(prev->attribute ("raw") == ")" && a->_lextype != Lexer::Type::op) ||
|
||||
(prev->attribute ("raw") == ")" && a->attribute ("raw") == "("))
|
||||
if ((prev->_lextype != Lexer::Type::op &&
|
||||
a->attribute ("raw") == "(" &&
|
||||
! isEmptyParenExpression(a, true) ) ||
|
||||
(prev->attribute ("raw") == ")" &&
|
||||
a->_lextype != Lexer::Type::op &&
|
||||
! isEmptyParenExpression(prev, false)) ||
|
||||
(prev->attribute ("raw") == ")" &&
|
||||
a->attribute ("raw") == "(" &&
|
||||
! isEmptyParenExpression(a, true) &&
|
||||
! isEmptyParenExpression(prev, false)) ||
|
||||
(prev->_lextype != Lexer::Type::op &&
|
||||
a->_lextype != Lexer::Type::op))
|
||||
{
|
||||
A2 opOr ("and", Lexer::Type::op);
|
||||
opOr.tag ("FILTER");
|
||||
|
@ -2050,7 +2197,7 @@ void CLI2::defaultCommand ()
|
|||
|
||||
while (lex.token (lexeme, type))
|
||||
{
|
||||
reconstructedOriginals.push_back (A2 (lexeme, type));
|
||||
reconstructedOriginals.emplace_back (lexeme, type);
|
||||
|
||||
A2 cmd (lexeme, type);
|
||||
cmd.tag ("DEFAULT");
|
||||
|
|
20
src/CLI2.h
20
src/CLI2.h
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -29,6 +29,7 @@
|
|||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <unordered_map>
|
||||
#include <Lexer.h>
|
||||
#include <FS.h>
|
||||
|
||||
|
@ -60,8 +61,8 @@ class CLI2
|
|||
public:
|
||||
static int minimumMatchLength;
|
||||
|
||||
static void getOverride (int, const char**, std::string&, File&);
|
||||
static void getDataLocation (int, const char**, Path&);
|
||||
static bool getOverride (int, const char**, File&);
|
||||
static bool getDataLocation (int, const char**, Path&);
|
||||
static void applyOverrides (int, const char**);
|
||||
|
||||
public:
|
||||
|
@ -70,13 +71,15 @@ public:
|
|||
void entity (const std::string&, const std::string&);
|
||||
|
||||
void add (const std::string&);
|
||||
void add (const std::vector <std::string>&);
|
||||
void add (const std::vector <std::string>&, int offset = 0);
|
||||
void analyze ();
|
||||
void addFilter (const std::string& arg);
|
||||
void addContextFilter ();
|
||||
void addModifications (const std::string& arg);
|
||||
void addContext (bool readable, bool writeable);
|
||||
void prepareFilter ();
|
||||
const std::vector <std::string> getWords ();
|
||||
bool canonicalize (std::string&, const std::string&, const std::string&) const;
|
||||
const std::vector <A2> getMiscellaneous ();
|
||||
bool canonicalize (std::string&, const std::string&, const std::string&);
|
||||
std::string getBinary () const;
|
||||
std::string getCommand (bool canonical = true) const;
|
||||
const std::string dump (const std::string& title = "CLI2 Parser") const;
|
||||
|
@ -99,6 +102,7 @@ private:
|
|||
void findUUIDs ();
|
||||
void insertIDExpr ();
|
||||
void lexFilterArgs ();
|
||||
bool isEmptyParenExpression (std::vector<A2>::iterator it, bool forward = true) const;
|
||||
void desugarFilterPlainArgs ();
|
||||
void insertJunctions ();
|
||||
void defaultCommand ();
|
||||
|
@ -107,12 +111,14 @@ private:
|
|||
public:
|
||||
std::multimap <std::string, std::string> _entities {};
|
||||
std::map <std::string, std::string> _aliases {};
|
||||
std::unordered_map <int, std::string> _canonical_cache {};
|
||||
std::vector <A2> _original_args {};
|
||||
std::vector <A2> _args {};
|
||||
|
||||
std::vector <std::pair <std::string, std::string>> _id_ranges {};
|
||||
std::vector <std::string> _uuid_list {};
|
||||
bool _context_filter_added {false};
|
||||
std::string _command {""};
|
||||
bool _context_added {false};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -6,7 +6,7 @@ include_directories (${CMAKE_SOURCE_DIR}
|
|||
${CMAKE_SOURCE_DIR}/src/libshared/src
|
||||
${TASK_INCLUDE_DIRS})
|
||||
|
||||
add_library (task CLI2.cpp CLI2.h
|
||||
add_library (task STATIC CLI2.cpp CLI2.h
|
||||
Context.cpp Context.h
|
||||
DOM.cpp DOM.h
|
||||
Eval.cpp Eval.h
|
||||
|
@ -27,7 +27,7 @@ add_library (task CLI2.cpp CLI2.h
|
|||
sort.cpp
|
||||
util.cpp util.h)
|
||||
|
||||
add_library (libshared libshared/src/Color.cpp libshared/src/Color.h
|
||||
add_library (libshared STATIC libshared/src/Color.cpp libshared/src/Color.h
|
||||
libshared/src/Configuration.cpp libshared/src/Configuration.h
|
||||
libshared/src/Datetime.cpp libshared/src/Datetime.h
|
||||
libshared/src/Duration.cpp libshared/src/Duration.h
|
||||
|
@ -43,7 +43,7 @@ add_library (libshared libshared/src/Color.cpp libshared/src/Color.h
|
|||
libshared/src/shared.cpp libshared/src/shared.h
|
||||
libshared/src/unicode.cpp libshared/src/unicode.h
|
||||
libshared/src/utf8.cpp libshared/src/utf8.h
|
||||
libshared/src/wcwidth6.cpp)
|
||||
libshared/src/wcwidth.h)
|
||||
|
||||
add_executable (task_executable main.cpp)
|
||||
add_executable (calc_executable calc.cpp)
|
||||
|
|
239
src/Context.cpp
239
src/Context.cpp
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -59,7 +59,7 @@
|
|||
// This string is parsed and used as default values for configuration.
|
||||
std::string configurationDefaults =
|
||||
"# Taskwarrior program configuration file.\n"
|
||||
"# For more documentation, see http://taskwarrior.org or try 'man task', 'man task-color',\n"
|
||||
"# For more documentation, see https://taskwarrior.org or try 'man task', 'man task-color',\n"
|
||||
"# 'man task-sync' or 'man taskrc'\n"
|
||||
"\n"
|
||||
"# Here is an example of entries that use the default, override and blank values\n"
|
||||
|
@ -67,6 +67,10 @@ std::string configurationDefaults =
|
|||
"# variable= -- By specifying no value, this means no default\n"
|
||||
"# #variable=foo -- By commenting out the line, or deleting it, this uses the default\n"
|
||||
"\n"
|
||||
"# You can also refence environment variables:\n"
|
||||
"# variable=$HOME/task\n"
|
||||
"# variable=$VALUE\n"
|
||||
"\n"
|
||||
"# Use the command 'task show' to see all defaults and overrides\n"
|
||||
"\n"
|
||||
"# Files\n"
|
||||
|
@ -86,8 +90,9 @@ std::string configurationDefaults =
|
|||
"reserved.lines=1 # Assume a 1-line prompt\n"
|
||||
"\n"
|
||||
"# Miscellaneous\n"
|
||||
"# # Comma-separated list. May contain any subset of:\n"
|
||||
"verbose=blank,header,footnote,label,new-id,affected,edit,special,project,sync,unwait,override,recur\n"
|
||||
"# verbose= # Comma-separated list. May contain any subset of:\n"
|
||||
"# affected,blank,context,default,edit,filter,footnote,header,label,new-id,new-uuid,override,project,recur,special,sync\n"
|
||||
"verbose=affected,blank,context,edit,header,footnote,label,new-id,project,special,sync,override,recur\n"
|
||||
"confirmation=1 # Confirmation on delete, big changes\n"
|
||||
"recurrence=1 # Enable recurrence\n"
|
||||
"recurrence.confirmation=prompt # Confirmation for propagating changes among recurring tasks (yes/no/prompt)\n"
|
||||
|
@ -109,8 +114,8 @@ std::string configurationDefaults =
|
|||
"xterm.title=0 # Sets xterm title for some commands\n"
|
||||
"expressions=infix # Prefer infix over postfix expressions\n"
|
||||
"json.array=1 # Enclose JSON output in [ ]\n"
|
||||
"json.depends.array=0 # Encode dependencies as a JSON array\n"
|
||||
"abbreviation.minimum=2 # Shortest allowed abbreviation\n"
|
||||
"news.version= # Latest version higlights read by the user\n"
|
||||
"\n"
|
||||
"# Dates\n"
|
||||
"dateformat=Y-M-D # Preferred input and display date format\n"
|
||||
|
@ -131,7 +136,7 @@ std::string configurationDefaults =
|
|||
"calendar.offset=0 # Apply an offset value to control the first month of the calendar\n"
|
||||
"calendar.offset.value=-1 # The number of months the first month of the calendar is moved\n"
|
||||
"calendar.holidays=none # Show public holidays on calendar:full, sparse or none\n"
|
||||
"#monthsperline=3 # Number of calendar months on a line\n"
|
||||
"#calendar.monthsperline=3 # Number of calendar months on a line\n"
|
||||
"\n"
|
||||
"# Journal controls\n"
|
||||
"journal.time=0 # Record start/stop commands as annotation\n"
|
||||
|
@ -227,6 +232,7 @@ std::string configurationDefaults =
|
|||
"color.calendar.due.today=color15 on color1\n"
|
||||
"color.calendar.due=color0 on color1\n"
|
||||
"color.calendar.holiday=color0 on color11\n"
|
||||
"color.calendar.scheduled=rgb013 on color15\n"
|
||||
"color.calendar.overdue=color0 on color9\n"
|
||||
"color.calendar.today=color15 on rgb013\n"
|
||||
"color.calendar.weekend=on color235\n"
|
||||
|
@ -285,112 +291,129 @@ std::string configurationDefaults =
|
|||
"alias.history=history.monthly # Prefer monthly over annual history reports\n"
|
||||
"alias.ghistory=ghistory.monthly # Prefer monthly graphical over annual history reports\n"
|
||||
"alias.burndown=burndown.weekly # Prefer the weekly burndown chart\n"
|
||||
"alias.shell=exec tasksh # Alias old shell command to new shell\n"
|
||||
"\n"
|
||||
"# Reports\n"
|
||||
"\n"
|
||||
"report.long.description=All details of tasks\n"
|
||||
"report.long.labels=ID,A,Created,Mod,Deps,P,Project,Tags,Recur,Wait,Sched,Due,Until,Description\n"
|
||||
"report.long.columns=id,start.active,entry,modified.age,depends,priority,project,tags,recur,wait.remaining,scheduled,due,until,description\n"
|
||||
"report.long.filter=status:pending\n"
|
||||
"report.long.filter=status:pending -WAITING\n"
|
||||
"report.long.sort=modified-\n"
|
||||
"report.long.context=1\n"
|
||||
"\n"
|
||||
"report.list.description=Most details of tasks\n"
|
||||
"report.list.labels=ID,Active,Age,D,P,Project,Tags,R,Sch,Due,Until,Description,Urg\n"
|
||||
"report.list.columns=id,start.age,entry.age,depends.indicator,priority,project,tags,recur.indicator,scheduled.countdown,due,until.remaining,description.count,urgency\n"
|
||||
"report.list.filter=status:pending\n"
|
||||
"report.list.filter=status:pending -WAITING\n"
|
||||
"report.list.sort=start-,due+,project+,urgency-\n"
|
||||
"report.list.context=1\n"
|
||||
"\n"
|
||||
"report.ls.description=Few details of tasks\n"
|
||||
"report.ls.labels=ID,A,D,Project,Tags,R,Wait,S,Due,Until,Description\n"
|
||||
"report.ls.columns=id,start.active,depends.indicator,project,tags,recur.indicator,wait.remaining,scheduled.countdown,due.countdown,until.countdown,description.count\n"
|
||||
"report.ls.filter=status:pending\n"
|
||||
"report.ls.filter=status:pending -WAITING\n"
|
||||
"report.ls.sort=start-,description+\n"
|
||||
"report.ls.context=1\n"
|
||||
"\n"
|
||||
"report.minimal.description=Minimal details of tasks\n"
|
||||
"report.minimal.labels=ID,Project,Tags,Description\n"
|
||||
"report.minimal.columns=id,project,tags.count,description.count\n"
|
||||
"report.minimal.filter=status:pending or status:waiting\n"
|
||||
"report.minimal.filter=status:pending\n"
|
||||
"report.minimal.sort=project+/,description+\n"
|
||||
"report.minimal.context=1\n"
|
||||
"\n"
|
||||
"report.newest.description=Newest tasks\n"
|
||||
"report.newest.labels=ID,Active,Created,Age,Mod,D,P,Project,Tags,R,Wait,Sch,Due,Until,Description\n"
|
||||
"report.newest.columns=id,start.age,entry,entry.age,modified.age,depends.indicator,priority,project,tags,recur.indicator,wait.remaining,scheduled.countdown,due,until.age,description\n"
|
||||
"report.newest.filter=status:pending or status:waiting\n"
|
||||
"report.newest.filter=status:pending\n"
|
||||
"report.newest.sort=entry-\n"
|
||||
"report.newest.context=1\n"
|
||||
"\n"
|
||||
"report.oldest.description=Oldest tasks\n"
|
||||
"report.oldest.labels=ID,Active,Created,Age,Mod,D,P,Project,Tags,R,Wait,Sch,Due,Until,Description\n"
|
||||
"report.oldest.columns=id,start.age,entry,entry.age,modified.age,depends.indicator,priority,project,tags,recur.indicator,wait.remaining,scheduled.countdown,due,until.age,description\n"
|
||||
"report.oldest.filter=status:pending or status:waiting\n"
|
||||
"report.oldest.filter=status:pending\n"
|
||||
"report.oldest.sort=entry+\n"
|
||||
"report.oldest.context=1\n"
|
||||
"\n"
|
||||
"report.overdue.description=Overdue tasks\n"
|
||||
"report.overdue.labels=ID,Active,Age,Deps,P,Project,Tag,R,S,Due,Until,Description,Urg\n"
|
||||
"report.overdue.columns=id,start.age,entry.age,depends,priority,project,tags,recur.indicator,scheduled.countdown,due,until,description,urgency\n"
|
||||
"report.overdue.filter=(status:pending or status:waiting) and +OVERDUE\n"
|
||||
"report.overdue.filter=status:pending and +OVERDUE\n"
|
||||
"report.overdue.sort=urgency-,due+\n"
|
||||
"report.overdue.context=1\n"
|
||||
"\n"
|
||||
"report.active.description=Active tasks\n"
|
||||
"report.active.labels=ID,Started,Active,Age,D,P,Project,Tags,Recur,W,Sch,Due,Until,Description\n"
|
||||
"report.active.columns=id,start,start.age,entry.age,depends.indicator,priority,project,tags,recur,wait,scheduled.remaining,due,until,description\n"
|
||||
"report.active.filter=status:pending and +ACTIVE\n"
|
||||
"report.active.sort=project+,start+\n"
|
||||
"report.active.context=1\n"
|
||||
"\n"
|
||||
"report.completed.description=Completed tasks\n"
|
||||
"report.completed.labels=ID,UUID,Created,Completed,Age,Deps,P,Project,Tags,R,Due,Description\n"
|
||||
"report.completed.columns=id,uuid.short,entry,end,entry.age,depends,priority,project,tags,recur.indicator,due,description\n"
|
||||
"report.completed.filter=status:completed\n"
|
||||
"report.completed.sort=end+\n"
|
||||
"report.completed.context=1\n"
|
||||
"\n"
|
||||
"report.recurring.description=Recurring Tasks\n"
|
||||
"report.recurring.labels=ID,Active,Age,D,P,Project,Tags,Recur,Sch,Due,Until,Description,Urg\n"
|
||||
"report.recurring.columns=id,start.age,entry.age,depends.indicator,priority,project,tags,recur,scheduled.countdown,due,until.remaining,description,urgency\n"
|
||||
"report.recurring.filter=(status:pending or status:waiting) and (+PARENT or +CHILD)\n"
|
||||
"report.recurring.filter=status:pending and (+PARENT or +CHILD)\n"
|
||||
"report.recurring.sort=due+,urgency-,entry+\n"
|
||||
"report.recurring.context=1\n"
|
||||
"\n"
|
||||
"report.waiting.description=Waiting (hidden) tasks\n"
|
||||
"report.waiting.labels=ID,A,Age,D,P,Project,Tags,R,Wait,Remaining,Sched,Due,Until,Description\n"
|
||||
"report.waiting.columns=id,start.active,entry.age,depends.indicator,priority,project,tags,recur.indicator,wait,wait.remaining,scheduled,due,until,description\n"
|
||||
"report.waiting.filter=+WAITING\n"
|
||||
"report.waiting.sort=due+,wait+,entry+\n"
|
||||
"report.waiting.context=1\n"
|
||||
"\n"
|
||||
"report.all.description=All tasks\n"
|
||||
"report.all.labels=ID,St,UUID,A,Age,Done,D,P,Project,Tags,R,Wait,Sch,Due,Until,Description\n"
|
||||
"report.all.columns=id,status.short,uuid.short,start.active,entry.age,end.age,depends.indicator,priority,project.parent,tags.count,recur.indicator,wait.remaining,scheduled.remaining,due,until.remaining,description\n"
|
||||
"report.all.sort=entry-\n"
|
||||
"report.all.context=1\n"
|
||||
"\n"
|
||||
"report.next.description=Most urgent tasks\n"
|
||||
"report.next.labels=ID,Active,Age,Deps,P,Project,Tag,Recur,S,Due,Until,Description,Urg\n"
|
||||
"report.next.columns=id,start.age,entry.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency\n"
|
||||
"report.next.filter=status:pending limit:page\n"
|
||||
"report.next.filter=status:pending -WAITING limit:page\n"
|
||||
"report.next.sort=urgency-\n"
|
||||
"report.next.context=1\n"
|
||||
"\n"
|
||||
"report.ready.description=Most urgent actionable tasks\n"
|
||||
"report.ready.labels=ID,Active,Age,D,P,Project,Tags,R,S,Due,Until,Description,Urg\n"
|
||||
"report.ready.columns=id,start.age,entry.age,depends.indicator,priority,project,tags,recur.indicator,scheduled.countdown,due.countdown,until.remaining,description,urgency\n"
|
||||
"report.ready.filter=+READY\n"
|
||||
"report.ready.sort=start-,urgency-\n"
|
||||
"report.ready.context=1\n"
|
||||
"\n"
|
||||
"report.blocked.description=Blocked tasks\n"
|
||||
"report.blocked.columns=id,depends,project,priority,due,start.active,entry.age,description\n"
|
||||
"report.blocked.labels=ID,Deps,Proj,Pri,Due,Active,Age,Description\n"
|
||||
"report.blocked.sort=due+,priority-,start-,project+\n"
|
||||
"report.blocked.filter=status:pending +BLOCKED\n"
|
||||
"report.blocked.filter=status:pending -WAITING +BLOCKED\n"
|
||||
"report.blocked.context=1\n"
|
||||
"\n"
|
||||
"report.unblocked.description=Unblocked tasks\n"
|
||||
"report.unblocked.columns=id,depends,project,priority,due,start.active,entry.age,description\n"
|
||||
"report.unblocked.labels=ID,Deps,Proj,Pri,Due,Active,Age,Description\n"
|
||||
"report.unblocked.sort=due+,priority-,start-,project+\n"
|
||||
"report.unblocked.filter=status:pending -BLOCKED\n"
|
||||
"report.unblocked.filter=status:pending -WAITING -BLOCKED\n"
|
||||
"report.unblocked.context=1\n"
|
||||
"\n"
|
||||
"report.blocking.description=Blocking tasks\n"
|
||||
"report.blocking.labels=ID,UUID,A,Deps,Project,Tags,R,W,Sch,Due,Until,Description,Urg\n"
|
||||
"report.blocking.columns=id,uuid.short,start.active,depends,project,tags,recur,wait,scheduled.remaining,due.relative,until.remaining,description.count,urgency\n"
|
||||
"report.blocking.sort=urgency-,due+,entry+\n"
|
||||
"report.blocking.filter=status:pending +BLOCKING\n"
|
||||
"report.blocking.filter=status:pending -WAITING +BLOCKING\n"
|
||||
"report.blocking.context=1\n"
|
||||
"\n"
|
||||
"report.timesheet.filter=(+PENDING and start.after:now-4wks) or (+COMPLETED and end.after:now-4wks)\n"
|
||||
"report.timesheet.context=0\n"
|
||||
"\n";
|
||||
|
||||
// Supported modifiers, synonyms on the same line.
|
||||
|
@ -398,6 +421,7 @@ static const char* modifierNames[] =
|
|||
{
|
||||
"before", "under", "below",
|
||||
"after", "over", "above",
|
||||
"by",
|
||||
"none",
|
||||
"any",
|
||||
"is", "equals",
|
||||
|
@ -410,8 +434,6 @@ static const char* modifierNames[] =
|
|||
"noword"
|
||||
};
|
||||
|
||||
#define NUM_MODIFIER_NAMES (sizeof (modifierNames) / sizeof (modifierNames[0]))
|
||||
|
||||
Context* Context::context;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -441,6 +463,9 @@ int Context::initialize (int argc, const char** argv)
|
|||
{
|
||||
timer_total.start ();
|
||||
int rc = 0;
|
||||
home_dir = getenv ("HOME");
|
||||
|
||||
std::vector <std::string> searchPaths { TASK_RCDIR };
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -448,53 +473,91 @@ int Context::initialize (int argc, const char** argv)
|
|||
//
|
||||
// [1] Load the correct config file.
|
||||
// - Default to ~/.taskrc (ctor).
|
||||
// - Allow command line override rc:<file>
|
||||
// - If no ~/.taskrc, use $XDG_CONFIG_HOME/task/taskrc if exists, or
|
||||
// ~/.config/task/taskrc if $XDG_DATA_HOME is unset
|
||||
// - Allow $TASKRC override.
|
||||
// - Allow command line override rc:<file>
|
||||
// - Load resultant file.
|
||||
// - Apply command line overrides to the config.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
CLI2::getOverride (argc, argv, home_dir, rc_file);
|
||||
bool taskrc_overridden = false;
|
||||
|
||||
char* override = getenv ("TASKRC");
|
||||
// XDG_CONFIG_HOME doesn't count as an override (no warning header)
|
||||
if (! rc_file.exists ())
|
||||
{
|
||||
// Use XDG_CONFIG_HOME if defined, otherwise default to ~/.config
|
||||
std::string xdg_config_home;
|
||||
const char* env_xdg_config_home = getenv ("XDG_CONFIG_HOME");
|
||||
|
||||
if (env_xdg_config_home)
|
||||
xdg_config_home = format ("{1}", env_xdg_config_home);
|
||||
else
|
||||
xdg_config_home = format ("{1}/.config", home_dir);
|
||||
|
||||
// Ensure the path does not end with '/'
|
||||
if (xdg_config_home.back () == '/')
|
||||
xdg_config_home.pop_back();
|
||||
|
||||
// https://github.com/GothenburgBitFactory/libshared/issues/32
|
||||
std::string rcfile_path = format ("{1}/task/taskrc", xdg_config_home);
|
||||
|
||||
File maybe_rc_file = File (rcfile_path);
|
||||
if ( maybe_rc_file.exists ())
|
||||
rc_file = maybe_rc_file;
|
||||
}
|
||||
|
||||
char *override = getenv ("TASKRC");
|
||||
if (override)
|
||||
{
|
||||
rc_file = File (override);
|
||||
header (format ("TASKRC override: {1}", rc_file._data));
|
||||
taskrc_overridden = true;
|
||||
}
|
||||
|
||||
taskrc_overridden =
|
||||
CLI2::getOverride (argc, argv, rc_file) || taskrc_overridden;
|
||||
|
||||
// Artificial scope for timing purposes.
|
||||
{
|
||||
Timer timer;
|
||||
config.parse (configurationDefaults);
|
||||
config.load (rc_file._data);
|
||||
config.parse (configurationDefaults, 1, searchPaths);
|
||||
config.load (rc_file._data, 1, searchPaths);
|
||||
debugTiming (format ("Config::load ({1})", rc_file._data), timer);
|
||||
}
|
||||
|
||||
CLI2::applyOverrides (argc, argv);
|
||||
|
||||
if (taskrc_overridden && verbose ("override"))
|
||||
header (format ("TASKRC override: {1}", rc_file._data));
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// [2] Locate the data directory.
|
||||
// - Default to ~/.task (ctor).
|
||||
// - Allow command line override rc.data.location:<dir>
|
||||
// - Allow $TASKDATA override.
|
||||
// - Allow command line override rc.data.location:<dir>
|
||||
// - Inform TDB2 where to find data.
|
||||
// - Create the rc_file and data_dir, if necessary.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
CLI2::getDataLocation (argc, argv, data_dir);
|
||||
bool taskdata_overridden = false;
|
||||
|
||||
override = getenv ("TASKDATA");
|
||||
if (override)
|
||||
{
|
||||
data_dir = Directory (override);
|
||||
config.set ("data.location", data_dir._data);
|
||||
header (format ("TASKDATA override: {1}", data_dir._data));
|
||||
taskdata_overridden = true;
|
||||
}
|
||||
|
||||
taskdata_overridden =
|
||||
CLI2::getDataLocation (argc, argv, data_dir) || taskdata_overridden;
|
||||
|
||||
if (taskdata_overridden && verbose ("override"))
|
||||
header (format ("TASKDATA override: {1}", data_dir._data));
|
||||
|
||||
tdb2.set_location (data_dir);
|
||||
createDefaultConfig ();
|
||||
|
||||
|
@ -526,8 +589,8 @@ int Context::initialize (int argc, const char** argv)
|
|||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
for (unsigned int i = 0; i < NUM_MODIFIER_NAMES; ++i)
|
||||
cli2.entity ("modifier", modifierNames[i]);
|
||||
for (auto& modifierName : modifierNames)
|
||||
cli2.entity ("modifier", modifierName);
|
||||
|
||||
for (auto& op : Eval::getOperators ())
|
||||
cli2.entity ("operator", op);
|
||||
|
@ -575,11 +638,13 @@ int Context::initialize (int argc, const char** argv)
|
|||
foundAssumed = true;
|
||||
}
|
||||
|
||||
if (foundDefault)
|
||||
header ("[" + combined + "]");
|
||||
if (verbose ("default")) {
|
||||
if (foundDefault)
|
||||
header ("[" + combined + "]");
|
||||
|
||||
if (foundAssumed)
|
||||
header ("No command specified - assuming 'information'.");
|
||||
if (foundAssumed)
|
||||
header ("No command specified - assuming 'information'.");
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
@ -884,6 +949,38 @@ int Context::getHeight ()
|
|||
return height;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
std::string Context::getTaskContext (const std::string& kind, std::string name, bool fallback /* = true */)
|
||||
{
|
||||
// Consider currently selected context, if none specified
|
||||
if (name.empty ())
|
||||
name = config.get ("context");
|
||||
|
||||
// Detect if any context is set, and bail out if not
|
||||
if (! name.empty ())
|
||||
debug (format ("Applying context '{1}'", name));
|
||||
else
|
||||
{
|
||||
debug ("No context set");
|
||||
return "";
|
||||
}
|
||||
|
||||
// Figure out the context string for this kind (read/write)
|
||||
std::string contextString = config.get ("context." + name + "." + kind);
|
||||
if (contextString.empty ())
|
||||
{
|
||||
debug ("Specific " + kind + " context for '" + name + "' not defined. ");
|
||||
if (fallback)
|
||||
{
|
||||
debug ("Falling back on generic.");
|
||||
contextString = config.get ("context." + name);
|
||||
}
|
||||
}
|
||||
|
||||
debug (format ("Detected context string: {1}", contextString.empty() ? "(empty)" : contextString));
|
||||
return contextString;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
bool Context::color ()
|
||||
{
|
||||
|
@ -945,21 +1042,22 @@ bool Context::verbose (const std::string& token)
|
|||
{
|
||||
std::string v = *(verbosity.begin ());
|
||||
if (v != "nothing" &&
|
||||
v != "blank" && // This list must be complete.
|
||||
v != "header" && //
|
||||
v != "affected" && // This list must be complete.
|
||||
v != "blank" && //
|
||||
v != "context" && //
|
||||
v != "default" && //
|
||||
v != "edit" && //
|
||||
v != "filter" && //
|
||||
v != "footnote" && //
|
||||
v != "header" && //
|
||||
v != "label" && //
|
||||
v != "new-id" && //
|
||||
v != "new-uuid" && //
|
||||
v != "affected" && //
|
||||
v != "edit" && //
|
||||
v != "special" && //
|
||||
v != "project" && //
|
||||
v != "sync" && //
|
||||
v != "filter" && //
|
||||
v != "unwait" && //
|
||||
v != "override" && //
|
||||
v != "recur") //
|
||||
v != "project" && //
|
||||
v != "recur" && //
|
||||
v != "special" && //
|
||||
v != "sync")
|
||||
{
|
||||
// This list emulates rc.verbose=off in version 1.9.4.
|
||||
verbosity = {"blank", "label", "new-id", "edit"};
|
||||
|
@ -970,7 +1068,7 @@ bool Context::verbose (const std::string& token)
|
|||
if (! verbosity.count ("footnote"))
|
||||
{
|
||||
// TODO: Some of these may not use footnotes yet. They should.
|
||||
for (auto flag : {"affected", "new-id", "new-uuid", "project", "unwait", "override", "recur"})
|
||||
for (auto flag : {"affected", "new-id", "new-uuid", "project", "override", "recur"})
|
||||
{
|
||||
if (verbosity.count (flag))
|
||||
{
|
||||
|
@ -979,6 +1077,19 @@ bool Context::verbose (const std::string& token)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Some flags imply "header" verbosity being active. Make it so.
|
||||
if (! verbosity.count ("header"))
|
||||
{
|
||||
for (auto flag : {"default"})
|
||||
{
|
||||
if (verbosity.count (flag))
|
||||
{
|
||||
verbosity.insert ("header");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// rc.verbose=true|y|yes|1|on overrides all.
|
||||
|
@ -1117,21 +1228,25 @@ void Context::createDefaultConfig ()
|
|||
<< "]\n"
|
||||
<< configurationDefaults.substr (0, loc + 14)
|
||||
<< data_dir._original
|
||||
<< "\n\n# Color theme (uncomment one to use)\n"
|
||||
<< "#include " << TASK_RCDIR << "/light-16.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/light-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-16.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-red-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-green-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-blue-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-violets-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-yellow-green.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-gray-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/dark-gray-blue-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/solarized-dark-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/solarized-light-256.theme\n"
|
||||
<< "#include " << TASK_RCDIR << "/no-color.theme\n"
|
||||
<< "\n\n# To use the default location of the XDG directories,\n"
|
||||
<< "# move this configuration file from ~/.taskrc to ~/.config/task/taskrc and uncomment below\n"
|
||||
<< "\n#data.location=~/.local/share/task\n"
|
||||
<< "#hooks.location=~/.config/task/hooks\n"
|
||||
<< "\n# Color theme (uncomment one to use)\n"
|
||||
<< "#include light-16.theme\n"
|
||||
<< "#include light-256.theme\n"
|
||||
<< "#include dark-16.theme\n"
|
||||
<< "#include dark-256.theme\n"
|
||||
<< "#include dark-red-256.theme\n"
|
||||
<< "#include dark-green-256.theme\n"
|
||||
<< "#include dark-blue-256.theme\n"
|
||||
<< "#include dark-violets-256.theme\n"
|
||||
<< "#include dark-yellow-green.theme\n"
|
||||
<< "#include dark-gray-256.theme\n"
|
||||
<< "#include dark-gray-blue-256.theme\n"
|
||||
<< "#include solarized-dark-256.theme\n"
|
||||
<< "#include solarized-light-256.theme\n"
|
||||
<< "#include no-color.theme\n"
|
||||
<< '\n';
|
||||
|
||||
// Write out the new file.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -57,6 +57,8 @@ public:
|
|||
int getWidth (); // determine terminal width
|
||||
int getHeight (); // determine terminal height
|
||||
|
||||
std::string getTaskContext (const std::string&, std::string, bool fallback=true);
|
||||
|
||||
const std::vector <std::string> getColumns () const;
|
||||
void getLimits (int&, int&);
|
||||
|
||||
|
|
75
src/DOM.cpp
75
src/DOM.cpp
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -260,33 +260,56 @@ bool getDOM (const std::string& name, const Task& task, Variant& value)
|
|||
|
||||
// split name on '.'
|
||||
auto elements = split (name, '.');
|
||||
Task loaded_task;
|
||||
|
||||
Task ref (task);
|
||||
Lexer lexer (elements[0]);
|
||||
std::string token;
|
||||
Lexer::Type type;
|
||||
if (lexer.token (token, type))
|
||||
// Use a lambda to decide whether the reference is going to be the passed
|
||||
// "task" or whether it's going to be a newly loaded task (if id/uuid was
|
||||
// given).
|
||||
const Task& ref = [&]() -> const Task&
|
||||
{
|
||||
if (type == Lexer::Type::uuid &&
|
||||
token.length () == elements[0].length ())
|
||||
{
|
||||
if (token != ref.get ("uuid"))
|
||||
Context::getContext ().tdb2.get (token, ref);
|
||||
Lexer lexer (elements[0]);
|
||||
std::string token;
|
||||
Lexer::Type type;
|
||||
|
||||
// Eat elements[0]/UUID.
|
||||
elements.erase (elements.begin ());
|
||||
}
|
||||
else if (type == Lexer::Type::number &&
|
||||
token.find ('.') == std::string::npos)
|
||||
// If this can be ID/UUID reference (the name contains '.'),
|
||||
// lex it to figure out. Otherwise don't lex, as lexing can be slow.
|
||||
if ((elements.size() > 1) and lexer.token (token, type))
|
||||
{
|
||||
auto id = strtol (token.c_str (), nullptr, 10);
|
||||
if (id && id != ref.id)
|
||||
Context::getContext ().tdb2.get (id, ref);
|
||||
bool reloaded = false;
|
||||
|
||||
// Eat elements[0]/ID.
|
||||
elements.erase (elements.begin ());
|
||||
if (type == Lexer::Type::uuid &&
|
||||
token.length () == elements[0].length ())
|
||||
{
|
||||
if (token != task.get ("uuid"))
|
||||
{
|
||||
Context::getContext ().tdb2.get (token, loaded_task);
|
||||
reloaded = true;
|
||||
}
|
||||
|
||||
// Eat elements[0]/UUID.
|
||||
elements.erase (elements.begin ());
|
||||
}
|
||||
else if (type == Lexer::Type::number &&
|
||||
token.find ('.') == std::string::npos)
|
||||
{
|
||||
auto id = strtol (token.c_str (), nullptr, 10);
|
||||
if (id && id != task.id)
|
||||
{
|
||||
Context::getContext ().tdb2.get (id, loaded_task);
|
||||
reloaded = true;
|
||||
}
|
||||
|
||||
// Eat elements[0]/ID.
|
||||
elements.erase (elements.begin ());
|
||||
}
|
||||
|
||||
if (reloaded)
|
||||
return loaded_task;
|
||||
}
|
||||
}
|
||||
|
||||
return task;
|
||||
|
||||
} ();
|
||||
|
||||
auto size = elements.size ();
|
||||
|
||||
|
@ -307,6 +330,14 @@ bool getDOM (const std::string& name, const Task& task, Variant& value)
|
|||
return true;
|
||||
}
|
||||
|
||||
// Special handling of status required for virtual waiting status
|
||||
// implementation. Remove in 3.0.0.
|
||||
if (ref.data.size () && size == 1 && canonical == "status")
|
||||
{
|
||||
value = Variant (ref.statusToText (ref.getStatus ()));
|
||||
return true;
|
||||
}
|
||||
|
||||
Column* column = Context::getContext ().columns[canonical];
|
||||
|
||||
if (ref.data.size () && size == 1 && column)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
39
src/Eval.cpp
39
src/Eval.cpp
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2013 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2013 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -122,7 +122,7 @@ void Eval::evaluateInfixExpression (const std::string& e, Variant& v) const
|
|||
std::string token;
|
||||
Lexer::Type type;
|
||||
while (l.token (token, type))
|
||||
tokens.push_back (std::pair <std::string, Lexer::Type> (token, type));
|
||||
tokens.emplace_back (token, type);
|
||||
|
||||
// Parse for syntax checking and operator replacement.
|
||||
if (_debug)
|
||||
|
@ -149,7 +149,7 @@ void Eval::evaluatePostfixExpression (const std::string& e, Variant& v) const
|
|||
std::string token;
|
||||
Lexer::Type type;
|
||||
while (l.token (token, type))
|
||||
tokens.push_back (std::pair <std::string, Lexer::Type> (token, type));
|
||||
tokens.emplace_back (token, type);
|
||||
|
||||
if (_debug)
|
||||
Context::getContext ().debug ("[1;37;42mFILTER[0m Postfix " + dump (tokens));
|
||||
|
@ -195,8 +195,9 @@ void Eval::debug (bool value)
|
|||
std::vector <std::string> Eval::getOperators ()
|
||||
{
|
||||
std::vector <std::string> all;
|
||||
for (unsigned int i = 0; i < NUM_OPERATORS; ++i)
|
||||
all.push_back (operators[i].op);
|
||||
all.reserve(NUM_OPERATORS);
|
||||
for (const auto &opr : operators)
|
||||
all.push_back (opr.op);
|
||||
|
||||
return all;
|
||||
}
|
||||
|
@ -206,9 +207,9 @@ std::vector <std::string> Eval::getOperators ()
|
|||
std::vector <std::string> Eval::getBinaryOperators ()
|
||||
{
|
||||
std::vector <std::string> all;
|
||||
for (unsigned int i = 0; i < NUM_OPERATORS; ++i)
|
||||
if (operators[i].type == 'b')
|
||||
all.push_back (operators[i].op);
|
||||
for (const auto &opr : operators)
|
||||
if (opr.type == 'b')
|
||||
all.push_back (opr.op);
|
||||
|
||||
return all;
|
||||
}
|
||||
|
@ -223,6 +224,8 @@ void Eval::evaluatePostfixStack (
|
|||
|
||||
// This is stack used by the postfix evaluator.
|
||||
std::vector <Variant> values;
|
||||
values.reserve(tokens.size());
|
||||
|
||||
for (const auto& token : tokens)
|
||||
{
|
||||
// Unary operators.
|
||||
|
@ -338,9 +341,9 @@ void Eval::evaluatePostfixStack (
|
|||
case Lexer::Type::identifier:
|
||||
{
|
||||
bool found = false;
|
||||
for (auto source = _sources.begin (); source != _sources.end (); ++source)
|
||||
for (const auto& source : _sources)
|
||||
{
|
||||
if ((*source) (token.first, v))
|
||||
if (source (token.first, v))
|
||||
{
|
||||
if (_debug)
|
||||
Context::getContext ().debug (format ("Eval identifier source '{1}' → ↑'{2}'", token.first, (std::string) v));
|
||||
|
@ -669,10 +672,10 @@ bool Eval::parsePrimitive (
|
|||
else
|
||||
{
|
||||
bool found = false;
|
||||
for (auto source = _sources.begin (); source != _sources.end (); ++source)
|
||||
for (const auto& source : _sources)
|
||||
{
|
||||
Variant v;
|
||||
if ((*source) (infix[i].first, v))
|
||||
if (source (infix[i].first, v))
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
|
@ -697,7 +700,7 @@ bool Eval::parsePrimitive (
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Dijkstra Shunting Algorithm.
|
||||
// http://en.wikipedia.org/wiki/Shunting-yard_algorithm
|
||||
// https://en.wikipedia.org/wiki/Shunting-yard_algorithm
|
||||
//
|
||||
// While there are tokens to be read:
|
||||
// Read a token.
|
||||
|
@ -810,13 +813,13 @@ bool Eval::identifyOperator (
|
|||
unsigned int& precedence,
|
||||
char& associativity) const
|
||||
{
|
||||
for (unsigned int i = 0; i < NUM_OPERATORS; ++i)
|
||||
for (const auto& opr : operators)
|
||||
{
|
||||
if (operators[i].op == op)
|
||||
if (opr.op == op)
|
||||
{
|
||||
type = operators[i].type;
|
||||
precedence = operators[i].precedence;
|
||||
associativity = operators[i].associativity;
|
||||
type = opr.type;
|
||||
precedence = opr.precedence;
|
||||
associativity = opr.associativity;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2013 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2013 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -64,7 +64,7 @@ void Filter::subset (const std::vector <Task>& input, std::vector <Task>& output
|
|||
std::vector <std::pair <std::string, Lexer::Type>> precompiled;
|
||||
for (auto& a : Context::getContext ().cli2._args)
|
||||
if (a.hasTag ("FILTER"))
|
||||
precompiled.push_back (std::pair <std::string, Lexer::Type> (a.getToken (), a._lextype));
|
||||
precompiled.emplace_back (a.getToken (), a._lextype);
|
||||
|
||||
if (precompiled.size ())
|
||||
{
|
||||
|
@ -107,7 +107,7 @@ void Filter::subset (std::vector <Task>& output)
|
|||
std::vector <std::pair <std::string, Lexer::Type>> precompiled;
|
||||
for (auto& a : Context::getContext ().cli2._args)
|
||||
if (a.hasTag ("FILTER"))
|
||||
precompiled.push_back (std::pair <std::string, Lexer::Type> (a.getToken (), a._lextype));
|
||||
precompiled.emplace_back (a.getToken (), a._lextype);
|
||||
|
||||
// Shortcut indicates that only pending.data needs to be loaded.
|
||||
bool shortcut = false;
|
||||
|
@ -214,6 +214,8 @@ bool Filter::pendingOnly () const
|
|||
int countOr = 0;
|
||||
int countXor = 0;
|
||||
int countNot = 0;
|
||||
bool pendingTag = false;
|
||||
bool activeTag = false;
|
||||
|
||||
for (const auto& a : Context::getContext ().cli2._args)
|
||||
{
|
||||
|
@ -227,17 +229,27 @@ bool Filter::pendingOnly () const
|
|||
if (a._lextype == Lexer::Type::op && raw == "not") ++countNot;
|
||||
if (a._lextype == Lexer::Type::dom && canonical == "status") ++countStatus;
|
||||
if ( raw == "pending") ++countPending;
|
||||
if ( raw == "waiting") ++countPending;
|
||||
if ( raw == "recurring") ++countPending;
|
||||
if ( raw == "waiting") ++countWaiting;
|
||||
if ( raw == "recurring") ++countRecurring;
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto& word : Context::getContext ().cli2._original_args)
|
||||
{
|
||||
if (word.attribute ("raw") == "+PENDING") pendingTag = true;
|
||||
if (word.attribute ("raw") == "+ACTIVE") activeTag = true;
|
||||
}
|
||||
|
||||
|
||||
if (countUUID)
|
||||
return false;
|
||||
|
||||
if (countOr || countXor || countNot)
|
||||
return false;
|
||||
|
||||
if (pendingTag || activeTag)
|
||||
return true;
|
||||
|
||||
if (countStatus)
|
||||
{
|
||||
if (!countPending && !countWaiting && !countRecurring)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -196,6 +196,7 @@ void Hooks::onExit () const
|
|||
|
||||
// Convert to a vector of strings.
|
||||
std::vector <std::string> input;
|
||||
input.reserve(tasks.size());
|
||||
for (auto& t : tasks)
|
||||
input.push_back (t.composeJSON ());
|
||||
|
||||
|
@ -485,7 +486,7 @@ void Hooks::assertSameTask (
|
|||
|
||||
for (auto& i : input)
|
||||
{
|
||||
json::object* root_obj = (json::object*)json::parse (i);
|
||||
auto root_obj = (json::object*)json::parse (i);
|
||||
|
||||
// If there is no UUID at all.
|
||||
auto u = root_obj->_data.find ("uuid");
|
||||
|
@ -496,7 +497,7 @@ void Hooks::assertSameTask (
|
|||
throw 0;
|
||||
}
|
||||
|
||||
json::string* up = (json::string*) u->second;
|
||||
auto up = (json::string*) u->second;
|
||||
auto text = up->dump ();
|
||||
Lexer::dequote (text);
|
||||
std::string json_uuid = json::decode (text);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2013 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2013 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -49,11 +49,6 @@ Lexer::Lexer (const std::string& text)
|
|||
{
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
Lexer::~Lexer ()
|
||||
{
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// When a Lexer object is constructed with a string, this method walks through
|
||||
// the stream of low-level tokens.
|
||||
|
@ -608,7 +603,8 @@ bool Lexer::isHexNumber (std::string& token, Lexer::Type& type)
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Lexer::Type::number
|
||||
// \d+
|
||||
// 0
|
||||
// [1-9]\d*
|
||||
// [ . \d+ ]
|
||||
// [ e|E [ +|- ] \d+ [ . \d+ ] ]
|
||||
// not followed by non-operator.
|
||||
|
@ -616,9 +612,16 @@ bool Lexer::isNumber (std::string& token, Lexer::Type& type)
|
|||
{
|
||||
std::size_t marker = _cursor;
|
||||
|
||||
bool leading_zero = (_text[marker] == '0');
|
||||
|
||||
if (unicodeLatinDigit (_text[marker]))
|
||||
{
|
||||
++marker;
|
||||
|
||||
// Two (or more) digit number with a leading zero are not allowed
|
||||
if (leading_zero && unicodeLatinDigit (_text[marker]))
|
||||
return false;
|
||||
|
||||
while (unicodeLatinDigit (_text[marker]))
|
||||
utf8_next_char (_text, marker);
|
||||
|
||||
|
@ -679,17 +682,25 @@ bool Lexer::isNumber (std::string& token, Lexer::Type& type)
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Lexer::Type::number
|
||||
// \d+
|
||||
// 0
|
||||
// [1-9]\d*
|
||||
// Integers do not start with a leading 0, unless they are zero.
|
||||
bool Lexer::isInteger (std::string& token, Lexer::Type& type)
|
||||
{
|
||||
std::size_t marker = _cursor;
|
||||
|
||||
bool leading_zero = (_text[marker] == '0');
|
||||
|
||||
if (unicodeLatinDigit (_text[marker]))
|
||||
{
|
||||
++marker;
|
||||
while (unicodeLatinDigit (_text[marker]))
|
||||
utf8_next_char (_text, marker);
|
||||
|
||||
// Leading zero is only allowed in the case of number 0
|
||||
if (leading_zero and marker - _cursor > 1)
|
||||
return false;
|
||||
|
||||
token = _text.substr (_cursor, marker - _cursor);
|
||||
type = Lexer::Type::number;
|
||||
_cursor = marker;
|
||||
|
@ -894,7 +905,7 @@ bool Lexer::isPath (std::string& token, Lexer::Type& type)
|
|||
std::size_t marker = _cursor;
|
||||
int slashCount = 0;
|
||||
|
||||
while (1)
|
||||
while (true)
|
||||
{
|
||||
if (_text[marker] == '/')
|
||||
{
|
||||
|
@ -1673,7 +1684,7 @@ bool Lexer::decomposeSubstitution (
|
|||
if (readWord (text, "/", cursor, parsed_to))
|
||||
{
|
||||
std::string parsed_flags = text.substr (cursor);
|
||||
if (parsed_flags.find ("/") == std::string::npos)
|
||||
if (parsed_flags.find ('/') == std::string::npos)
|
||||
{
|
||||
dequote (parsed_from, "/");
|
||||
dequote (parsed_to, "/");
|
||||
|
@ -1702,7 +1713,7 @@ bool Lexer::decomposePattern (
|
|||
ignored.length ())
|
||||
{
|
||||
auto parsed_flags = text.substr (cursor);
|
||||
if (parsed_flags.find ("/") == std::string::npos)
|
||||
if (parsed_flags.find ('/') == std::string::npos)
|
||||
{
|
||||
flags = parsed_flags;
|
||||
pattern = text.substr (1, cursor - 2 - flags.length ());
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2013 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2013 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -54,7 +54,7 @@ public:
|
|||
date, duration };
|
||||
|
||||
Lexer (const std::string&);
|
||||
~Lexer ();
|
||||
~Lexer () = default;
|
||||
bool token (std::string&, Lexer::Type&);
|
||||
static std::vector <std::string> split (const std::string&);
|
||||
static std::string typeToString (Lexer::Type);
|
||||
|
|
64
src/TDB2.cpp
64
src/TDB2.cpp
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -170,7 +170,7 @@ void TF2::add_task (Task& task)
|
|||
|
||||
// For faster lookup
|
||||
if (Context::getContext ().cli2.getCommand () == "import")
|
||||
_tasks_map.insert (std::pair<std::string, Task> (task.get("uuid"), task));
|
||||
_tasks_map.emplace (task.get("uuid"), task);
|
||||
|
||||
Task::status status = task.getStatus ();
|
||||
if (task.id == 0 &&
|
||||
|
@ -355,22 +355,13 @@ void TF2::load_gc (Task& task)
|
|||
{
|
||||
Context::getContext ().tdb2.pending._tasks.push_back (task);
|
||||
}
|
||||
// 2.6.0: Waiting status is deprecated. Convert to pending to upgrade status
|
||||
// field value in the data files.
|
||||
else if (status == "waiting")
|
||||
{
|
||||
Datetime wait (task.get_date ("wait"));
|
||||
if (wait < now)
|
||||
{
|
||||
task.set ("status", "pending");
|
||||
task.remove ("wait");
|
||||
// Unwaiting pending tasks is the only case not caught by the size()
|
||||
// checks in TDB2::gc(), so we need to signal it here.
|
||||
Context::getContext ().tdb2.pending._dirty = true;
|
||||
|
||||
if (Context::getContext ().verbose ("unwait"))
|
||||
Context::getContext ().footnote (format ("Un-waiting task {1} '{2}'", task.id, task.get ("description")));
|
||||
}
|
||||
|
||||
task.set ("status", "pending");
|
||||
Context::getContext ().tdb2.pending._tasks.push_back (task);
|
||||
Context::getContext ().tdb2.pending._dirty = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -410,7 +401,7 @@ void TF2::load_tasks (bool from_gc /* = false */)
|
|||
_tasks.push_back (task);
|
||||
|
||||
if (Context::getContext ().cli2.getCommand () == "import") // For faster lookup only
|
||||
_tasks_map.insert (std::pair<std::string, Task> (task.get("uuid"), task));
|
||||
_tasks_map.emplace (task.get("uuid"), task);
|
||||
}
|
||||
|
||||
// TDB2::gc() calls this after loading both pending and completed
|
||||
|
@ -525,29 +516,26 @@ void TF2::dependency_scan ()
|
|||
// Iterate and modify TDB2 in-place. Don't do this at home.
|
||||
for (auto& left : _tasks)
|
||||
{
|
||||
if (left.has ("depends"))
|
||||
for (auto& dep : left.getDependencyUUIDs ())
|
||||
{
|
||||
for (auto& dep : left.getDependencyUUIDs ())
|
||||
for (auto& right : _tasks)
|
||||
{
|
||||
for (auto& right : _tasks)
|
||||
if (right.get ("uuid") == dep)
|
||||
{
|
||||
if (right.get ("uuid") == dep)
|
||||
// GC hasn't run yet, check both tasks for their current status
|
||||
Task::status lstatus = left.getStatus ();
|
||||
Task::status rstatus = right.getStatus ();
|
||||
if (lstatus != Task::completed &&
|
||||
lstatus != Task::deleted &&
|
||||
rstatus != Task::completed &&
|
||||
rstatus != Task::deleted)
|
||||
{
|
||||
// GC hasn't run yet, check both tasks for their current status
|
||||
Task::status lstatus = left.getStatus ();
|
||||
Task::status rstatus = right.getStatus ();
|
||||
if (lstatus != Task::completed &&
|
||||
lstatus != Task::deleted &&
|
||||
rstatus != Task::completed &&
|
||||
rstatus != Task::deleted)
|
||||
{
|
||||
left.is_blocked = true;
|
||||
right.is_blocking = true;
|
||||
}
|
||||
|
||||
// Only want to break out of the "right" loop.
|
||||
break;
|
||||
left.is_blocked = true;
|
||||
right.is_blocking = true;
|
||||
}
|
||||
|
||||
// Only want to break out of the "right" loop.
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -839,6 +827,11 @@ void TDB2::revert ()
|
|||
// - erase from completed
|
||||
// - if in backlog, erase, else cannot undo
|
||||
|
||||
Task old;
|
||||
if (prior != "")
|
||||
old = Task (prior);
|
||||
Context::getContext ().hooks.onModify (Task (current), old);
|
||||
|
||||
// Modify other data files accordingly.
|
||||
std::vector <std::string> p = pending.get_lines ();
|
||||
revert_pending (p, uuid, prior);
|
||||
|
@ -987,7 +980,7 @@ void TDB2::revert_backlog (
|
|||
const std::string& current,
|
||||
const std::string& prior)
|
||||
{
|
||||
std::string uuid_att = "\"uuid\":\"" + uuid + '"';
|
||||
std::string uuid_att = R"("uuid":")" + uuid + '"';
|
||||
|
||||
bool found = false;
|
||||
for (auto task = b.rbegin (); task != b.rend (); ++task)
|
||||
|
@ -1244,7 +1237,6 @@ void TDB2::show_diff (
|
|||
// Possible scenarios:
|
||||
// - task in pending that needs to be in completed
|
||||
// - task in completed that needs to be in pending
|
||||
// - waiting task in pending that needs to be un-waited
|
||||
void TDB2::gc ()
|
||||
{
|
||||
Timer timer;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
853
src/Task.cpp
853
src/Task.cpp
File diff suppressed because it is too large
Load diff
23
src/Task.h
23
src/Task.h
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -88,7 +88,7 @@ public:
|
|||
|
||||
void setAsNow (const std::string&);
|
||||
bool has (const std::string&) const;
|
||||
std::vector <std::string> all ();
|
||||
std::vector <std::string> all () const;
|
||||
const std::string identifier (bool shortened = false) const;
|
||||
const std::string get (const std::string&) const;
|
||||
const std::string& get_ref (const std::string&) const;
|
||||
|
@ -97,7 +97,7 @@ public:
|
|||
float get_float (const std::string&) const;
|
||||
time_t get_date (const std::string&) const;
|
||||
void set (const std::string&, const std::string&);
|
||||
void set (const std::string&, int);
|
||||
void set (const std::string&, long long);
|
||||
void remove (const std::string&);
|
||||
|
||||
#ifdef PRODUCT_TASKWARRIOR
|
||||
|
@ -114,6 +114,7 @@ public:
|
|||
bool is_udaPresent () const;
|
||||
bool is_orphanPresent () const;
|
||||
#endif
|
||||
bool is_waiting () const;
|
||||
|
||||
status getStatus () const;
|
||||
void setStatus (status);
|
||||
|
@ -125,7 +126,7 @@ public:
|
|||
int getTagCount () const;
|
||||
bool hasTag (const std::string&) const;
|
||||
void addTag (const std::string&);
|
||||
void addTags (const std::vector <std::string>&);
|
||||
void setTags (const std::vector <std::string>&);
|
||||
std::vector <std::string> getTags () const;
|
||||
void removeTag (const std::string&);
|
||||
|
||||
|
@ -143,8 +144,10 @@ public:
|
|||
#ifdef PRODUCT_TASKWARRIOR
|
||||
void removeDependency (int);
|
||||
void removeDependency (const std::string&);
|
||||
bool hasDependency (const std::string&) const;
|
||||
std::vector <int> getDependencyIDs () const;
|
||||
std::vector <std::string> getDependencyUUIDs () const;
|
||||
std::vector <Task> getBlockedTasks () const;
|
||||
std::vector <Task> getDependencyTasks () const;
|
||||
|
||||
std::vector <std::string> getUDAOrphanUUIDs () const;
|
||||
|
@ -162,6 +165,9 @@ public:
|
|||
void modify (modType, bool text_required = false);
|
||||
#endif
|
||||
|
||||
std::string diff (const Task& after) const;
|
||||
std::string diffForInfo (const Task& after, const std::string& dateformat, long& last_timestamp, const long current_timestamp) const;
|
||||
|
||||
private:
|
||||
int determineVersion (const std::string&);
|
||||
void parseJSON (const std::string&);
|
||||
|
@ -170,6 +176,15 @@ private:
|
|||
void validate_before (const std::string&, const std::string&);
|
||||
const std::string encode (const std::string&) const;
|
||||
const std::string decode (const std::string&) const;
|
||||
bool isTagAttr (const std::string&) const;
|
||||
const std::string tag2Attr (const std::string&) const;
|
||||
const std::string attr2Tag (const std::string&) const;
|
||||
bool isDepAttr (const std::string&) const;
|
||||
const std::string dep2Attr (const std::string&) const;
|
||||
const std::string attr2Dep (const std::string&) const;
|
||||
bool isAnnotationAttr (const std::string&) const;
|
||||
void fixDependsAttribute ();
|
||||
void fixTagsAttribute ();
|
||||
|
||||
public:
|
||||
float urgency_project () const;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2013 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2013 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -166,19 +166,7 @@ const std::string& Variant::source () const
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
Variant& Variant::operator= (const Variant& other)
|
||||
{
|
||||
_type = other._type;
|
||||
_bool = other._bool;
|
||||
_integer = other._integer;
|
||||
_real = other._real;
|
||||
_string = other._string;
|
||||
_date = other._date;
|
||||
_duration = other._duration;
|
||||
_source = other._source;
|
||||
|
||||
return *this;
|
||||
}
|
||||
Variant& Variant::operator= (const Variant& other) = default;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
bool Variant::operator&& (const Variant& other) const
|
||||
|
@ -1110,8 +1098,15 @@ bool Variant::operator_partial (const Variant& other) const
|
|||
{
|
||||
// Same-day comparison.
|
||||
case type_string:
|
||||
if (left.trivial () || right.trivial ())
|
||||
return false;
|
||||
{
|
||||
if (left.trivial () || right.trivial ())
|
||||
return false;
|
||||
|
||||
right.cast (type_date);
|
||||
Datetime left_date (left._date);
|
||||
Datetime right_date (right._date);
|
||||
return left_date.sameDay (right_date);
|
||||
}
|
||||
|
||||
case type_boolean:
|
||||
case type_integer:
|
||||
|
@ -1295,12 +1290,12 @@ Variant& Variant::operator-= (const Variant& other)
|
|||
case type_date:
|
||||
switch (right._type)
|
||||
{
|
||||
case type_boolean: right.cast (type_integer); _date -= right._integer; break;
|
||||
case type_integer: _date -= right._integer; break;
|
||||
case type_real: _date -= (int) right._real; break;
|
||||
case type_boolean: right.cast (type_integer); _date -= right._integer; break;
|
||||
case type_integer: _date -= right._integer; break;
|
||||
case type_real: _date -= (int) right._real; break;
|
||||
case type_string: throw std::string (STRING_VARIANT_SUB_STRING);
|
||||
case type_date: cast (type_duration); _duration -= right._date; break;
|
||||
case type_duration: _date -= right._duration; break;
|
||||
case type_date: _type = Variant::type_duration; _duration = _date - right._date; break;
|
||||
case type_duration: _date -= right._duration; break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1408,12 +1403,12 @@ Variant& Variant::operator+= (const Variant& other)
|
|||
case type_duration:
|
||||
switch (right._type)
|
||||
{
|
||||
case type_boolean: right.cast (type_duration); _duration += right._duration; break;
|
||||
case type_integer: _duration += right._integer; break;
|
||||
case type_real: _duration += (int) right._real; break;
|
||||
case type_string: cast (type_string); _string += right._string; break;
|
||||
case type_date: cast (type_date); _date += right._date; break;
|
||||
case type_duration: _duration += right._duration; break;
|
||||
case type_boolean: right.cast (type_duration); _duration += right._duration; break;
|
||||
case type_integer: _duration += right._integer; break;
|
||||
case type_real: _duration += (int) right._real; break;
|
||||
case type_string: cast (type_string); _string += right._string; break;
|
||||
case type_date: _type = Variant::type_date; _date += right._date + _duration; break;
|
||||
case type_duration: _duration += right._duration; break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -1838,7 +1833,7 @@ void Variant::cast (const enum type new_type)
|
|||
case type_string:
|
||||
{
|
||||
char temp[24];
|
||||
snprintf (temp, 24, "%d", _integer);
|
||||
snprintf (temp, 24, "%lld", _integer);
|
||||
_string = temp;
|
||||
}
|
||||
break;
|
||||
|
@ -1851,7 +1846,7 @@ void Variant::cast (const enum type new_type)
|
|||
switch (new_type)
|
||||
{
|
||||
case type_boolean: _bool = _real == 0.0 ? false : true; break;
|
||||
case type_integer: _integer = (int) _real; break;
|
||||
case type_integer: _integer = (long long) _real; break;
|
||||
case type_real: break;
|
||||
case type_string:
|
||||
{
|
||||
|
@ -1875,9 +1870,9 @@ void Variant::cast (const enum type new_type)
|
|||
_string == "0.0") ? false : true;
|
||||
break;
|
||||
case type_integer:
|
||||
_integer = (int) strtol (_string.c_str (), nullptr, (_string.substr (0, 2) == "0x" ? 16 : 10));
|
||||
_integer = (long long) strtol (_string.c_str (), nullptr, (_string.substr (0, 2) == "0x" ? 16 : 10));
|
||||
break;
|
||||
case type_real: _real = strtod (_string.c_str (), nullptr); break;
|
||||
case type_real: _real = strtod (_string.c_str (), nullptr); break;
|
||||
case type_string: break;
|
||||
case type_date:
|
||||
{
|
||||
|
@ -1926,11 +1921,13 @@ void Variant::cast (const enum type new_type)
|
|||
switch (new_type)
|
||||
{
|
||||
case type_boolean: _bool = _date != 0 ? true : false; break;
|
||||
case type_integer: _integer = (int) _date; break;
|
||||
case type_integer: _integer = (long long) _date; break;
|
||||
case type_real: _real = static_cast<double>(_date); break;
|
||||
case type_string: _string = (std::string) *this; break;
|
||||
case type_date: break;
|
||||
case type_duration: _duration = _date; break;
|
||||
// TODO: Not exactly correct (should duration convert into date?), but
|
||||
// currently needed for symmetry, which is assumed by operators.
|
||||
case type_duration: _duration = _date - time (nullptr); break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1938,10 +1935,10 @@ void Variant::cast (const enum type new_type)
|
|||
switch (new_type)
|
||||
{
|
||||
case type_boolean: _bool = _duration != 0 ? true : false; break;
|
||||
case type_integer: _integer = (int) _duration; break;
|
||||
case type_integer: _integer = (long long) _duration; break;
|
||||
case type_real: _real = static_cast<double>(_duration); break;
|
||||
case type_string: _string = (std::string) *this; break;
|
||||
case type_date: _date = _duration; break;
|
||||
case type_date: _date = time (nullptr) + _duration; break;
|
||||
case type_duration: break;
|
||||
}
|
||||
break;
|
||||
|
@ -1973,7 +1970,7 @@ bool Variant::get_bool () const
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
int Variant::get_integer () const
|
||||
long long Variant::get_integer () const
|
||||
{
|
||||
return _integer;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2013 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2013 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -99,7 +99,7 @@ public:
|
|||
bool trivial () const;
|
||||
|
||||
bool get_bool () const;
|
||||
int get_integer () const;
|
||||
long long get_integer () const;
|
||||
double get_real () const;
|
||||
const std::string& get_string () const;
|
||||
time_t get_date () const;
|
||||
|
@ -108,7 +108,7 @@ public:
|
|||
private:
|
||||
enum type _type {type_boolean};
|
||||
bool _bool {false};
|
||||
int _integer {0};
|
||||
long long _integer {0};
|
||||
double _real {0.0};
|
||||
std::string _string {""};
|
||||
time_t _date {0};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -202,11 +202,53 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
|
|||
widths = ideal;
|
||||
}
|
||||
|
||||
// Not enough for minimum.
|
||||
// Not enough for minimum. Decrease certain columns.
|
||||
else if (overage < 0)
|
||||
{
|
||||
Context::getContext ().error (format ("The report has a minimum width of {1} and does not fit in the available width of {2}.", sum_minimal + all_extra, _width));
|
||||
// Determine which columns are the longest.
|
||||
unsigned int longest = 0;
|
||||
unsigned int second_longest = 0;
|
||||
for (unsigned int j = 0; j < minimal.size(); j++)
|
||||
{
|
||||
if (minimal[j] > minimal[longest])
|
||||
{
|
||||
second_longest = longest;
|
||||
longest = j;
|
||||
}
|
||||
else if (minimal[j] > minimal[second_longest])
|
||||
{
|
||||
second_longest = j;
|
||||
}
|
||||
}
|
||||
|
||||
// Case 1: Shortening longest column still keeps it longest. Let it bear
|
||||
// all the shortening.
|
||||
widths = minimal;
|
||||
if (minimal[longest] + overage >= minimal[second_longest])
|
||||
widths[longest] += overage;
|
||||
|
||||
// Case 2: Shorten the longest column to second longest length. Try to
|
||||
// split shortening them evenly.
|
||||
else
|
||||
{
|
||||
int decrease = minimal[second_longest] - minimal[longest];
|
||||
widths[longest] += decrease;
|
||||
overage = overage - decrease;
|
||||
|
||||
// Attempt to decrease the two longest columns (at most to two characters)
|
||||
if (-overage <= widths[longest] + widths[second_longest] - 4)
|
||||
{
|
||||
// Compute half of the overage, rounding up
|
||||
int half_overage = overage / 2 + overage % 2;
|
||||
|
||||
// Decrease both larges columns by this amount
|
||||
widths[longest] += half_overage;
|
||||
widths[second_longest] += half_overage;
|
||||
}
|
||||
else
|
||||
// If reducing two of the longest solumns to 2 characters is not sufficient, then give up.
|
||||
Context::getContext ().error (format ("The report has a minimum width of {1} and does not fit in the available width of {2}.", sum_minimal + all_extra, _width));
|
||||
}
|
||||
}
|
||||
|
||||
// Perfect minimal width.
|
||||
|
@ -242,7 +284,7 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
|
|||
std::vector <std::vector <std::string>> headers;
|
||||
for (unsigned int c = 0; c < _columns.size (); ++c)
|
||||
{
|
||||
headers.push_back (std::vector <std::string> ());
|
||||
headers.emplace_back ();
|
||||
_columns[c]->renderHeader (headers[c], widths[c], _sort[c] ? _sort_header : _header);
|
||||
|
||||
if (headers[c].size () > max_lines)
|
||||
|
@ -279,7 +321,7 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
|
|||
out += extra;
|
||||
|
||||
// Trim right.
|
||||
out.erase (out.find_last_not_of (" ") + 1);
|
||||
out.erase (out.find_last_not_of (' ') + 1);
|
||||
out += "\n";
|
||||
|
||||
// Stop if the line limit is exceeded.
|
||||
|
@ -312,7 +354,7 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
|
|||
|
||||
for (unsigned int c = 0; c < _columns.size (); ++c)
|
||||
{
|
||||
cells.push_back (std::vector <std::string> ());
|
||||
cells.emplace_back ();
|
||||
_columns[c]->render (cells[c], data[sequence[s]], widths[c], row_color);
|
||||
|
||||
if (cells[c].size () > max_lines)
|
||||
|
@ -320,8 +362,8 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
|
|||
|
||||
if (obfuscate)
|
||||
if (_columns[c]->type () == "string")
|
||||
for (unsigned int line = 0; line < cells[c].size (); ++line)
|
||||
cells[c][line] = obfuscateText (cells[c][line]);
|
||||
for (auto& line : cells[c])
|
||||
line = obfuscateText (line);
|
||||
}
|
||||
|
||||
// Listing breaks are simply blank lines inserted when a column value
|
||||
|
@ -329,7 +371,7 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
|
|||
if (s > 0 &&
|
||||
_breaks.size () > 0)
|
||||
{
|
||||
for (auto& b : _breaks)
|
||||
for (const auto& b : _breaks)
|
||||
{
|
||||
if (data[sequence[s - 1]].get (b) != data[sequence[s]].get (b))
|
||||
{
|
||||
|
@ -365,7 +407,7 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
|
|||
out += (odd ? extra_odd : extra_even);
|
||||
|
||||
// Trim right.
|
||||
out.erase (out.find_last_not_of (" ") + 1);
|
||||
out.erase (out.find_last_not_of (' ') + 1);
|
||||
out += "\n";
|
||||
|
||||
// Stop if the line limit is exceeded.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright 2006 - 2021, Paul Beckingham, Federico Hernandez.
|
||||
// Copyright 2006 - 2021, Tomas Babej, Paul Beckingham, Federico Hernandez.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -93,7 +93,7 @@ int main (int argc, char** argv)
|
|||
<< format ("calc {1} built for ", VERSION)
|
||||
<< osName ()
|
||||
<< '\n'
|
||||
<< "Copyright (C) 2006 - 2021 P. Beckingham, F. Hernandez."
|
||||
<< "Copyright (C) 2006 - 2021 T. Babej, P. Beckingham, F. Hernandez."
|
||||
<< '\n'
|
||||
<< '\n'
|
||||
<< "Taskwarrior may be copied only under the terms of the MIT license, which may be found in the Taskwarrior source kit."
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue