Compare commits

...

1549 Commits

Author SHA1 Message Date
Tomas Babej
a696b6b155 cmake: Bump project version to 2.6.1 2021-10-19 00:23:40 -04:00
Tomas Babej
d8770133f0 docs: Update dev branch references in README 2021-10-19 00:23:16 -04:00
Tomas Babej
5c32372d42 docs: Update DEVELOPER.md 2021-10-19 00:20:07 -04:00
Tomas Babej
4d7c7531d0 docs: Document #2632 2021-10-18 23:56:38 -04:00
Tomas Babej
c99dab0dae meta: Ensure Cygwin compatibility 2021-10-18 23:53:26 -04:00
Tomas Babej
3dee86c997 docs: Document #2639 2021-10-18 23:48:37 -04:00
Tomas Babej
df75d1ce43 test: Add tests for parsing ID ranges of various sizes 2021-10-18 23:46:45 -04:00
Tomas Babej
2469943c98 meta: Bump libshared
This bumps libshared version to the one not suffering from
misidentification of certain ID ranges.

Closes #2639.
2021-10-18 23:15:03 -04:00
Tomas Babej
072b38d326 CmdCustom: Increase probability of displaying upgrade message
We have received reports from people that have upgraded, but seemingly
have not seen release notes in the `task news` command. One of the
causes here could be the fact that the probability of displaying the
footnote about running `task news` is `1/10`.

Increase the probability to 1/4.
2021-10-18 21:32:53 -04:00
Tomas Babej
dc81bf5fb5 CmdNews: Adjust for brevity 2021-10-18 21:31:41 -04:00
Tomas Babej
8e7401d2f4 docs: Document #2626 2021-10-16 11:28:36 -04:00
Tomas Babej
6a79e614da tests: Expand test for waiting report
Add tasks to test exclusion of completed and deleted tasks.
2021-10-16 11:11:45 -04:00
Tomas Babej
4287b33796 Task: Only consider pending tasks as waiting 2021-10-16 11:11:15 -04:00
Tomas Babej
3b37dc2480 tests: Adjust test description 2021-10-16 11:02:38 -04:00
Tomas Babej
dec99b0deb docs: Document #2622 2021-10-16 10:22:34 -04:00
Tomas Babej
3840c4e768 tests: Add test for UDA Orphan identification 2021-10-16 10:22:34 -04:00
Tomas Babej
793b23411a CmdUDAs: Do not identify tags and dependencies as orphan UDAs 2021-10-16 10:22:34 -04:00
Tomas Babej
fd549c764b Task: Do not identify tag and dependency attributes as orphans 2021-10-16 10:22:34 -04:00
Tomas Babej
339a4ddb51 Task: Make isTag/Dep/AnnotationAttr methods static
This allows usage of these helper methods outside of Task class.
2021-10-16 10:22:34 -04:00
Bent Witthold
3dbad09f72 consiered -> considered 2021-10-16 09:07:18 -04:00
Tomas Babej
d480f6a0db docs: Document #2629 2021-10-15 01:09:19 -04:00
Tomas Babej
e21ae0d7d8 docs: Document #2620 2021-10-15 00:56:13 -04:00
Tomas Babej
f6d9837b07 tests: Add test for legacy context interpretation 2021-10-14 22:36:11 -04:00
Tomas Babej
d5a026d91a context: Interpret legacy-style context as read context only
This provides a better migration path than surprising users with the
write context functionality out of the blue.

Closes #2620.
2021-10-14 22:34:48 -04:00
Tomas Babej
1d4baca0d9 context: Do not interpret empty filter/mods as missing context definition
This is a corner case bug, when user has both old-style and new-style
context defined, where new-style is defined as empty string, the
old-style will (incorrectly) take precedence.

Closes #2629.
2021-10-14 17:47:11 -04:00
Tomas Babej
887b04f7f4 docs: Document #2619 2021-10-11 15:50:42 -04:00
Alexandre Provencio
d4a9ce614b Fix fish completions
Closes #2619
2021-10-11 15:45:57 -04:00
Orhun Parmaksız
db76a15ba5 changelog: mark 2.6.0 as current release 2021-10-04 21:07:44 -04:00
Tomas Babej
64ea936d7f README: Describe the new branch names 2021-10-04 20:56:27 -04:00
Tomas Babej
c010855bac Merge branch '2.6.0' 2021-10-02 22:04:54 -04:00
Tomas Babej
8174287f91 README: Mark GnuTLS as optional 2021-10-02 21:59:37 -04:00
Nathan Wyand
b6225adbd3 add library build dependencies to README 2021-10-02 21:55:02 -04:00
Tomas Babej
dbf641988e CmdTags: Update pointers to task enumeration lists 2021-10-02 21:38:47 -04:00
Tomas Janousek
8610268cd9 Add missing "QUARTER" to feedback_reserved_tags
A while ago I noticed that 630a1530e0 only
added the QUARTER virtual tag to src/Task.cpp, and when I checked that
again today, it was still missing from src/feedback.cpp, so I'm fixing
that.
2021-10-02 21:33:16 -04:00
Tomas Babej
ac309b4ff1 tests: Skip the diagnostics test on Ubuntu 16.04
This is a byproduct of recent bump to C++17 compliant compilers. Ubuntu
16.04 does not have C++17 compliant compiler, but it's still useful to
for us to test 2.5.3 there as the branch does not actually use any of
the C++17 features not available on gcc on Ubuntu.
2021-10-02 21:32:21 -04:00
Leo
57680f5bde Uncoditionally include errno.h instead of guessing
POSIX tells us that it is errno.h, musl fails to build with -Werror
because it redirects sys/errno.h->errno.h and uses #warning

(cherry picked from commit 041248e7cc)
2021-10-02 21:30:40 -04:00
Doron Behar
6873ff26a1 Truely remove priority from hardcoded attrributes 2021-10-02 21:27:10 -04:00
Doron Behar
4bdab32c12 Complete attributes dynamically incl UDAs
This is the major refinement of the completion: Most of it just moved
the global variables from up above to inside _task_filter so every array
of attributes will be calculated dynamically there.
2021-10-02 21:26:55 -04:00
Doron Behar
9d3bbe744d Fix small TODO and move main function to bottom 2021-10-02 21:18:58 -04:00
Doron Behar
ba1b6819a0 Add TODOs to make zsh completion awesome 2021-10-02 21:18:22 -04:00
Lionel Miller
e66f7fce50 Workaround for alias grep=rg in fish 2021-10-02 21:11:16 -04:00
John Nguyen
68bef0135f Fix typo in man page
The example for _unique has typo, should be using attribute for project.
Fixes #2277
2021-10-02 21:05:50 -04:00
Tomas Babej
c2ba93cb61 tests: Ensure the git tag version check does not run for tarball builds
Do not try to determine the latest git tag if we're not in a git
repository in the first place.
2021-10-02 18:27:58 -04:00
Tomas Babej
34c12a7b78 Context: Add news.version among configuration defaults
Otherwise news.version shows up as unrecognized variable.
2021-10-02 18:27:57 -04:00
Tomas Babej
4d85031b90 tests: Ensure tests are run with news.version set to 2.6.0
No tests were failing due to the footnote but its better to be safe than
sorry.
2021-10-02 18:06:12 -04:00
Tomas Babej
0ad1b681de CMakeLists: Use presence of src, not .git dir to determine libshared presence
This way the mechanism to determine the presence of libshared works for
tarball builds as well.
2021-10-02 17:57:38 -04:00
Tomas Babej
35794a57b5 CMakeLists: Ensure cmake.h.in is not excluded in the source build 2021-10-02 17:45:28 -04:00
Tomas Babej
a392983631 CmdNews: Minor adjustments 2021-10-02 17:10:59 -04:00
Tomas Babej
ef53c4fc75 CmdCustom: Generate notice about task news 2021-10-02 16:58:16 -04:00
Tomas Babej
5ccfece56d CmdNews: Improve footnote advertising of minor higlights 2021-10-02 16:25:27 -04:00
Tomas Babej
5e5a68e045 CmdNews: Mark more higlights as major 2021-10-02 16:24:57 -04:00
Tomas Babej
214890af26 CmdNews: Prevent double outro by reverting to defautl signal handler 2021-10-02 16:08:11 -04:00
Tomas Babej
bd39e6b2e0 CmdNews: Prevent compiler warning 2021-10-02 16:08:10 -04:00
Tomas Babej
cb4444098e CmdNews: Add short outro on interrupt 2021-10-02 16:08:09 -04:00
Tomas Babej
7e3ea4f47e CmdNews: Implement short outro section 2021-10-02 16:08:08 -04:00
Tomas Babej
8ef6aa4bce CmdNews: Guide users about minor highlights 2021-10-02 13:11:31 -04:00
Tomas Babej
f9f62d596a CmdNews: Dynamically construct the heading 2021-10-02 11:45:59 -04:00
Tomas Babej
333840062b CmdNews: Replace prompt at the beginning by defaulting to major items only 2021-10-02 11:40:47 -04:00
Tomas Babej
703594931a CmdNews: Add news item about updated holiday data 2021-10-02 11:14:14 -04:00
Tomas Babej
d16bb6f084 CmdNews: Add news item about XDG support 2021-10-02 10:35:51 -04:00
Tomas Babej
1a79f0b99e CmdNews: Add news item about context-specific configuration overrides 2021-10-02 10:35:46 -04:00
Tomas Babej
2af2564fd9 CmdNews: Adjust header 2021-10-02 09:48:53 -04:00
Tomas Babej
130b2fe77c man: Fix spacing between headers 2021-10-02 09:48:35 -04:00
Tomas Babej
3f59b12512 CmdNews: Add news item about the .by attribute modifier 2021-10-02 09:48:34 -04:00
Tomas Babej
d7d2f938c5 man: Document the 'news' command 2021-10-02 09:47:23 -04:00
Tomas Babej
facf40b1b4 NEWS: Document the 'news' command 2021-10-02 09:47:22 -04:00
Tomas Babej
32cbff9254 CmdNews: Add news item about Unicode 12 support 2021-10-02 09:47:21 -04:00
Tomas Babej
9ed8835218 NEWS: Mention new locales 2021-10-01 22:01:13 -04:00
Tomas Babej
db6aeffd66 holidays: Update for 2022 2021-10-01 21:59:00 -04:00
Tomas Babej
1a8756e042 holidays: Add sv-FI locale 2021-10-01 21:58:43 -04:00
Tomas Babej
cb571f345a holidays: Add sk-SK locale 2021-10-01 21:58:34 -04:00
Tomas Babej
a2af5260cd holidays: Add pt-BR locale 2021-10-01 21:58:22 -04:00
Tomas Babej
10c049cff0 holidays: Add hr-HU locale 2021-10-01 21:58:10 -04:00
Tomas Babej
7e0d1aa902 holidays: Add fr-CA locale 2021-10-01 21:57:26 -04:00
Tomas Babej
50eb00d542 NEWS: Correct the Unicode version
The currently supported Unicode character set is actually Unicode 12.
2021-09-29 00:59:44 -04:00
Tomas Babej
7848d25f18 CmdNews: Add news item about multi-day holidays 2021-09-29 00:16:35 -04:00
Tomas Babej
0d647f0218 CmdNews: Add news item about exportable reports 2021-09-29 00:16:20 -04:00
Tomas Babej
6f60f74739 CmdNews: Add news item for environment variable support in taskrc 2021-09-29 00:15:50 -04:00
Tomas Babej
f71d851703 CmdNews: Add news item about a waiting being now virtual status 2021-09-28 23:39:23 -04:00
Tomas Babej
36604c95d2 Context: Document the availability of environment variables in the taskrc 2021-09-28 23:38:33 -04:00
Tomas Babej
30c3893499 CmdNews: Describe context-less reports 2021-09-28 22:58:36 -04:00
Tomas Babej
51a5916339 NewsItem: Do not render _updates if not set 2021-09-28 22:58:07 -04:00
Tomas Babej
33d074e00c NewsItem: Fix typo 2021-09-28 22:57:53 -04:00
Tomas Babej
052444350e CmdNews: Add news item about 64-bit datetime support 2021-09-28 22:31:14 -04:00
Tomas Babej
189a253ef2 CmdNews: Add advice for writeable context 2021-09-28 21:47:54 -04:00
Tomas Babej
c69cbe8bfc CmdContext: Remove old-style context during re-definition
This makes it easier to migrate from old-style context.<name>=value
context definition to new context.<name>.read=value and
context.<name>.write=value variables.
2021-09-28 21:07:46 -04:00
Tomas Babej
c28aa2f7e2 CmdContext: Fix typo 2021-09-28 00:57:52 -04:00
Tomas Babej
5f8ec9bbe0 CmdConfig: Extract write context validation into a separate method 2021-09-28 00:52:56 -04:00
Tomas Babej
2b0730d905 CmdNews: Add NewsItem about writeteable contexts 2021-09-28 00:40:52 -04:00
Tomas Babej
ce77bdf830 CmdNews: Implement section-based rendering with a punchline 2021-09-28 00:33:49 -04:00
Tomas Babej
36e1f8c8ec NewsItem: Reorder arguments to follow rendering order 2021-09-27 23:42:03 -04:00
Tomas Babej
c574cbf948 NewsItem: Add punchline, background and bg_title attributes 2021-09-27 23:39:41 -04:00
Tomas Babej
c8240f1ad7 CmdNews: Add reasoning and actions subsections 2021-09-27 22:38:29 -04:00
Tomas Babej
e538e9199c CmdNews: Make it explicit enter has to be pressed to continue 2021-09-27 22:04:10 -04:00
Tomas Babej
506307fb87 CmdNews: Work around blending not supporting bold effect 2021-09-27 22:00:51 -04:00
Tomas Babej
4f1af72235 CmdNews: Filter out non-major news updates if displaying shortened summary 2021-09-27 21:04:20 -04:00
Tomas Babej
1935cd7e2d CmdNews: Obtain the NewsItems for 2.6.0 release 2021-09-26 21:28:12 -04:00
Tomas Babej
f3881ecbbe CmdNews: Version methods should generate all items, regardless of priority
Drop the flag about full/abbreviated report being passed to the version
methods. The methods shold just generate the NewsItem objects, the
CmdNews::execute will take care of displaying only the ones matching the
verbosity level the user selected.
2021-09-26 21:25:31 -04:00
Tomas Babej
636c8f50e0 CmdNews: Render all news items 2021-09-26 21:24:54 -04:00
Tomas Babej
946e489ad6 CmdNews: Add preliminary notes for version 2.6.0 2021-09-26 21:12:17 -04:00
Tomas Babej
3ed89393ec NewsItem: Add stub 2021-09-26 21:10:41 -04:00
Tomas Babej
36bdd81d46 CmdNews: Prompt user to determine whether to show abbreviated summary 2021-09-26 21:07:21 -04:00
Tomas Babej
d092aaa2e5 CmdNews: Set news.version configuration variable upon success 2021-09-25 23:24:26 -04:00
Tomas Babej
63c176ea0e CmdNews: Add plumbing to register the command 2021-09-25 22:05:46 -04:00
Tomas Babej
38fe7b6044 CmdNews: Add stub 2021-09-25 22:05:27 -04:00
Tomas Babej
b2a4da7874 Changelog: Change 2.6.0 log to use new format
This format correctly credits reporters and contributors and
distinguishes bugs from enhancements.
2021-09-25 20:48:08 -04:00
Tomas Babej
b04f3d1e99 docs: Document TW #2283 2021-09-25 20:25:53 -04:00
Tomas Babej
fb724dca4a NEWS: Add #2390 as a regression 2021-09-25 20:25:53 -04:00
Tomas Babej
967bf18188 tests: Add test for TW #2386 2021-09-25 20:25:53 -04:00
Tomas Babej
37f26be3ad tests: Add test for TW #2388 2021-09-25 20:25:53 -04:00
Tomas Babej
983b971a11 docs: Also list TW #2392 as a regression 2021-09-25 20:25:53 -04:00
Tomas Babej
9fc4870874 docs: List #2392 as a regression 2021-09-25 20:25:53 -04:00
Tomas Babej
d19ee12406 docs: Document TW #2422 2021-09-25 20:25:53 -04:00
Tomas Babej
2ad7321132 docs: Document #2403 2021-09-25 20:25:53 -04:00
Tomas Babej
95cfdb3efb docs: Document TW #2461 2021-09-25 20:25:53 -04:00
Tomas Babej
5b81eb0569 docs: Document TW #2160 2021-09-25 20:25:53 -04:00
Tomas Babej
040a894451 docs: Document TW #1847 2021-09-25 20:25:53 -04:00
Tomas Babej
33cc38ad16 docs: Document #1953 2021-09-25 20:25:53 -04:00
Tomas Babej
04966702fb docs: Document TW #2163 2021-09-25 20:25:53 -04:00
Tomas Babej
0edc6665c0 man: Mention new color.calendar.scheduled setting in the man page 2021-09-25 20:25:53 -04:00
Tomas Babej
bf34c65f4d docs: Document #2208 2021-09-25 20:25:53 -04:00
Tomas Babej
602e9edbbe docs: Document #1840 2021-09-25 20:25:53 -04:00
Tomas Babej
83863056d2 docs: Document #2532 2021-09-25 20:25:53 -04:00
Tomas Babej
b863bc6257 docs: Document TW #1960 2021-09-25 20:25:53 -04:00
Tomas Babej
70e5f51b59 docs: Document TW #1914 2021-09-25 20:25:53 -04:00
Tomas Babej
6908586899 docs: Fix documented default value of burndown.cumulative
The default is actually 1, not 0.
2021-09-25 20:25:53 -04:00
Tomas Babej
57fba23217 docs: Document #2575 in NEWS and Changelog 2021-09-25 20:25:53 -04:00
Tomas Babej
5516026400 docs: Document TW #2549 2021-09-25 20:25:53 -04:00
Tomas Babej
21c9e90b30 NEWS: Add info about #2442 improvement to nagging mechanism 2021-09-25 20:25:53 -04:00
Tomas Babej
f9ea89fb60 docs: Document #2023 2021-09-25 14:45:00 -04:00
Tomas Babej
4a993afb46 Task: Update versions of comments 2021-09-25 14:35:50 -04:00
Tomas Babej
bfc9cb752c Changelog: Document TW #2287 2021-09-25 13:41:26 -04:00
Tomas Babej
2127d21d8c NEWS: Add a small note about multi-day holiday support to features 2021-09-25 13:35:34 -04:00
Tomas Babej
f37a8abb86 doc: Strip trailing whitespace 2021-09-25 13:35:33 -04:00
Tomas Babej
d9861eb891 doc: Expand section about relative paths in taskrc 2021-09-25 13:35:32 -04:00
Tomas Babej
059ab577b8 man: Update taskrc manpage's description of context 2021-09-25 13:35:31 -04:00
Tomas Babej
78b5bd7391 NEWS: Document context-specific configuration overrides 2021-09-25 13:35:30 -04:00
Tomas Babej
de271d8e7a NEWS: Make notes about the updated compiler 2021-09-25 13:35:30 -04:00
Tomas Babej
9bed1eda99 DEVELOPER: Update IRC information 2021-09-25 13:35:29 -04:00
Tomas Babej
1c53539ce8 DEVELOPER: Update branch information 2021-09-25 13:35:28 -04:00
Tomas Babej
ba1f760b2f NEWS: Adjust wording 2021-09-25 13:35:27 -04:00
Tomas Babej
017053a2e1 NEWS: Deprecate monthsperline 2021-09-25 13:34:58 -04:00
Tomas Babej
cd2abc7132 Replace references to monthsperline with calendar.monthsperline 2021-09-25 13:34:58 -04:00
Tomas Babej
c22b233300 CmdCalendar: Respect calendar.monthsperline alongside monthsperline 2021-09-25 13:34:58 -04:00
Tomas Babej
898a6d200d NEWS: Document support of env variables in the config file 2021-09-18 16:21:00 -04:00
Tomas Babej
eb9514ede3 docs: Document TW #1933 2021-09-18 16:09:46 -04:00
Tomas Babej
38a0a25374 libshared: Bump version
This includes rebased versions of changes originally introduced in
PR #2558.
2021-09-18 16:09:14 -04:00
Tomas Babej
16c5a58843 tests: Add test for detection of invalid write contexts 2021-09-18 14:15:47 -04:00
Tomas Babej
690d00c8c5 tests: Update test expectations in context.t to account for write context
These changes make the tests a bit more wholesome by checking
configuration variables for the write context as well.
2021-09-18 14:15:47 -04:00
Tomas Babej
03edf2e01c CmdContext: Analyze the context filter for validity as modification 2021-09-18 14:15:47 -04:00
Tomas Babej
96fe962604 CmdCompletionContext: Fix typo 2021-09-18 14:15:47 -04:00
Tomas Babej
4e00106c71 CLI2: Add method to get MISCELLANEOUS tokens 2021-09-18 14:15:47 -04:00
Tomas Babej
5bbb1697af tests: Remove expected failure
Hyphenation for long words now works as expected.
2021-09-16 07:33:53 -04:00
Tomas Babej
a8d4ce52c3 ViewTask: Handle negative overage by decreasing size of the largest columns 2021-09-16 07:33:53 -04:00
Tomas Babej
04e84cb06f refactoring: Reorder verbosity tokens 2021-09-16 07:15:54 -04:00
Tomas Babej
9a3b103861 Context: Override verbosity token should not imply header
Users might want to only opt-in into footnote override notifications,
without seeing header-based override information about TASKRC or
TASKDATA.
2021-09-16 07:15:54 -04:00
Tomas Babej
a5d5a025b7 tests: Make sure test accessing header output have correct verbosity tokens
This change was needed because the information about the default command
is no longer part of the default output.
2021-09-16 07:15:54 -04:00
Tomas Babej
e3e2c50c24 NEWS: Document the 'default' verbosity token 2021-09-16 07:15:54 -04:00
Tomas Babej
ed6249fee6 Context: Make default/override imply header 2021-09-16 07:15:54 -04:00
Tomas Babej
c5f6419dfd docs: Document the 'default' token 2021-09-16 07:15:54 -04:00
Tomas Babej
712f0080dd Context: Introduce 'default' verbosity token
The purpose of this token is to control the display of information
messages about taskwarrior choosing a default action of some sort.
2021-09-16 07:15:54 -04:00
Tomas Babej
867efe3928 Context: Update the list of verbosity tokens
- Add the "context" token to the default tokens..
- Remove the "filter" token from the default list.
2021-09-16 07:15:54 -04:00
Tomas Babej
235c6614af feedback: Remove redundant variable 2021-09-16 07:15:54 -04:00
Jasha
5ad8f47000 fix a typo in the help commnad 2021-09-14 20:36:11 -04:00
DanielMowitz
c1e811a4fe Fixed error with tasks that were completed instantly not rendering. 2021-09-11 13:56:03 -04:00
DanielMowitz
c6be724a96 Changed burndown test so it doesn't block forever 2021-09-11 13:56:03 -04:00
DanielMowitz
bad672dc0a Update burndown.t
Fixed indentation error.
2021-09-11 13:56:03 -04:00
DanielMowitz
cb07e93ddd Changed configuration option name and added documentation. 2021-09-11 13:56:03 -04:00
DanielMowitz
1d804ae7c8 Implemented non-cumulative burndown reports and added a test for them. 2021-09-11 13:56:03 -04:00
Tomas Babej
0bc92d6115 meta: Adjust copyright headers 2021-09-05 12:02:07 -04:00
Tomas Babej
7d5c82e3e7 meta: Expand review build target to allow specifying PR reference for libshared
This allows us to conveniently review PRs for libshared using

    make LIBPR=62 review

and taskwarrior PRs that require libshared PRs as well using

    make PR=2189 LIBPR=63 review
2021-09-04 12:13:25 -04:00
Tomas Babej
2bd0d8ebd3 Task: Make sure tag and dependency attributes are not identified as orphan UDAs 2021-09-04 11:15:37 -04:00
Dustin J. Mitchell
309e99d49e Refactor task diffs to handle new attributes
This refactors task(Info)Differences to be methods of Task and to
correctly handle the `annotation_`, `tags_`, and `dep_` attributes.
2021-09-04 10:49:45 -04:00
Tomas Babej
7aee9567a3 Task: Fix extra whitespace typo 2021-09-03 21:15:07 -04:00
Tomas Babej
505bbf60bb colors: Do not provide any color for color.tagged by default
The simple fact that the task has a single or more tags of any value
does not convey a lot of information. As such, we should not color tasks
based on this property by default.

Users can still configure the color.tagged configuration variable if the
color rule makes sense in their system.
2021-08-31 18:28:54 -04:00
Tomas Babej
99f4929dc5 CmdExport: Throw an exception when the report is not found
The Context::getContext ().error only issues a log message, but allows
the execution of the program. In order to interrupt the execution, an
exception must be raised.
2021-08-31 18:27:45 -04:00
Dheepak Krishnamurthy
9ce366ddab task <filter> export [<report>] 2021-08-29 12:48:18 -04:00
Tomas Babej
ef176478e9 ci: Temporarily disable CentOS 7 tests
Suspend the CI runs on CentOS 7, which fail due to a cryptic git error
connected with checking out the libshared submodule version. Might be
just a bug that is fixed in more recent git versions, which would
explain why other CI runs work fine.
2021-08-29 12:31:07 -04:00
Tomas Babej
7a9c8eaf4a Merge pull request #2543 from sebu06/getFromContext
Allow overriding configuration variables per context
2021-08-29 00:00:10 -04:00
Tomas Babej
d91e30ee13 Merge branch '2.6.0' into getFromContext 2021-08-28 23:53:40 -04:00
Tomas Babej
8b30046d0a CLI2: Simplify code by using const quote string
The "\'" string is equal to "'", which is already stored in the quote
variable, so we might as well use that.

Thanks to Sebastian Uharek for the review suggestion.
2021-08-28 21:01:29 -04:00
Tomas Babej
2619435148 tests: Add test for TW-2189 2021-08-28 21:01:29 -04:00
Tomas Babej
ddf2f122a2 CLI2: Pre-reserve the size of the escaped string 2021-08-28 21:01:29 -04:00
Tomas Babej
c119b6d1de CLI2: Support escaped utf-8 characters 2021-08-28 21:01:29 -04:00
sebu06
0523ada9fc Fixed bug with double escaped single quotes
Before, the parser always escaped single quotes, independent of the quotes being escaped already. This is now fixed.
2021-08-28 21:01:29 -04:00
Tomas Babej
d270ef31a4 docs: Document report.X.context in the man page 2021-08-21 12:39:17 -04:00
Tomas Babej
d515326fba docs: Add Jake C. among AUTHORS 2021-08-21 10:09:59 -04:00
Tomas Babej
08dab41d48 docs: Document TW #2560 2021-08-21 10:09:45 -04:00
Tomas Babej
55f38bd48e docs: Document TW #2580 2021-08-21 10:01:26 -04:00
Tomas Babej
3471e1cdaa docs: Add bharatvaj among AUTHORS 2021-08-21 09:57:26 -04:00
Tomas Babej
4f14c529b0 tests: Add test for TW #2577
This is already fixed on 2.6.0 thanks to #2405, but it never hurts to
have more tests.

Closes #2577.
2021-08-21 09:53:46 -04:00
Bharatvaj H
05904549a0 Fixes #2580
Check annotations field before parsing

Add test case for annotations
2021-08-21 08:28:43 -04:00
Tomas Babej
48bf64a501 tests: Add test for report.<name>.context variable 2021-08-21 08:25:06 -04:00
Tomas Babej
8cad6487c7 CLI2: Call uses_context from child classes, if applicable 2021-08-21 08:25:06 -04:00
Tomas Babej
21f1086f3d Context: Add default values for report.<name>.context variables 2021-08-21 08:25:06 -04:00
Tomas Babej
5309132add CmdTimesheet: Add ability to specify if context should be used
This makes timesheet consistent with other report commands.
2021-08-21 08:25:06 -04:00
Tomas Babej
ab29ef8326 CmdCustom: Respect report.<name>.context configuration variable
This allows the user to configure if a specific report should (or should
not) adhere to the currently active context.

Closes #2560.
2021-08-21 08:25:06 -04:00
Tomas Babej
c195c59494 docs: Document TW #2581 2021-08-21 01:06:55 -04:00
Tomas Babej
1f76856579 tests: Add test for TW #2581 2021-08-21 01:06:55 -04:00
Tomas Babej
a464324617 CmdConfig: Properly preserve comments at the end of the line
Trailing comments previously caused crash of the application.

Closes #2581.
2021-08-21 01:06:55 -04:00
Tomas Babej
e2e184b8d4 CmdConfig: Be more strict when matching confiuration variables
Allow only leading spaces in front of configuration variables, as
opposed to arbitrary strings.

This prevents matching variables like "report.list.context=" when one is
seeking to modify "context=".
2021-08-21 01:06:55 -04:00
Tomas Babej
9768fb8bca docs: Sort ChangeLog entries 2021-08-17 20:52:12 -04:00
Dustin J. Mitchell
20af583e21 Refactor to store dependencies as individual attributes
This also drops support for the transitional `json.depends.array`
configuration value, which has not been necessary since ~2016.

As with tags, dependencies are stored in both a "combined",
comma-separated format (for compatibility) and in an
attribute-per-dependency format (for the future).
2021-08-17 20:36:54 -04:00
Dustin J. Mitchell
413b8d22b7 Remove references to the 'depends' property outside of Task.cpp
With the exception of `taskDifferences` and `taskInfoDifferences`,
deferred to #2572.
2021-08-17 20:36:54 -04:00
Tomas Babej
9e67f4f946 docs: Add information about waiting status to NEWS 2021-08-15 22:50:55 -04:00
Tomas Babej
54aef35b57 docs: Document #2550 2021-08-15 22:50:55 -04:00
Tomas Babej
d3fdb2baf9 changelog: Adjust formatting 2021-08-15 22:50:55 -04:00
Tomas Babej
7fb457d892 test: Add tests for TW #2550 2021-08-15 22:50:55 -04:00
Tomas Babej
89a6f2b629 CLI2: Apply UUID/ID context break only for readable context
The purpose of this break is to not apply the context on commands like

    task 4 info

so that we can still refer to tasks directly (using their ID/UUID
references) even if they fall outside of the currectly active context.

However, this break should not be applied for writeable context. This is
because the lexer can (a bit misleadingly) label parts of the desription
of the new task as number/identifier tokens

   task add Replace 3 parts of the puzzle abc123
                    ^                     ^
                    type::number          type:uuid

which would trigger the break unnecessarily.

Closes #2550.
2021-08-15 22:50:55 -04:00
Tomas Babej
5a86a40220 tests: Temporarily disable testing on Debian stable 2021-08-14 18:09:54 -04:00
Tomas Babej
b4fe317896 docs: Document TW #1913 2021-08-14 18:09:54 -04:00
Tomas Babej
b467049720 tests: Add tests for TW #1913 2021-08-14 18:09:54 -04:00
Dustin J. Mitchell
9a9ede7878 update built-in reports to use +WAITING, and doc 2021-08-08 14:27:25 -04:00
Tomas Babej
f8ca8cff81 Task: Make COMPLETED and DELETED virtual tags use getStatus()
This is now consistent with how PENDING is defined since recent commit
520d7e979b17c90e91d29325be8294905b338ee6.
2021-08-08 14:27:25 -04:00
Tomas Babej
91517151ad docs: Add removal comments 2021-08-08 14:27:25 -04:00
Tomas Babej
2c44f79277 tests: Make sed/wc calls in tw-2563 compatible with OS-X'
The sed does not support -i flag in the same way. The wc -l prints
whitespace in front, which needs to be stripped.
2021-08-08 14:27:25 -04:00
Tomas Babej
b6ce51e83d tests: Reverse expectations for wait attribute removal uponn done/delete
The wait attribute is no longer expected to be removed by the
done/delete commands.
2021-08-08 14:27:25 -04:00
Tomas Babej
861e8a6414 commands: Do not remove wait attribute upon task completion/deletion 2021-08-08 14:27:25 -04:00
Tomas Babej
ea008380db Task: Use getStatus () call to determine if task is pending 2021-08-08 14:27:25 -04:00
Tomas Babej
0c22823771 tests: Ensure virtual tags +PENDING and +WAITING are working as before TW-2563 2021-08-08 14:27:25 -04:00
Tomas Babej
582bee66e9 DOM: Implement special-cased status handling
This is required for status:pending filters not matching the tasks with
the virutal waiting tag.
2021-08-08 14:27:25 -04:00
Tomas Babej
7d81eadd5a tests: Add test for the migration path from 2.5.3 2021-08-08 14:27:25 -04:00
Tomas Babej
db324c41e3 TF2: Upgrade waiting tasks to pending, if applicable
This can be safely removed in one of the later releases (likely 3.1 or
later).
2021-08-08 14:27:25 -04:00
Dustin J. Mitchell
901283c79f [WIP] make 'waiting' status a 'virtual' status 2021-08-08 14:27:25 -04:00
sebu06
1d81e5e3ee Configuration override of settings for context
Every configuration parameter can be overwritten for the
current context by setting the parameter:

context.<name>.rc.<parameter> = <value>

in the config file. This allows for example to set a custom
report for each context.
2021-08-05 13:22:17 +02:00
Dustin J. Mitchell
20041c120e Refactor to store tags as individual attributes
Each tag is stored as `tag_<tagname>: x`.  The `x` is required because
empty attributes are treated as nonexistent.

For compatibility, the `tags` attribute is updated in sync with the
per-tag attributes.  This compatibility support may be dropped in later
versions.

Note that synchronization _updates_ use JSON format, which does not
change with this patch, and thus no compatibility issues exist.  The
synchronization _initialization_, however, uses FF4, meaning that a
sync server initialized from a version of `task` with this patch will
contain `tag_<tagname>` attributes, which will look like orphaned UDAs
to older versions.  However, as updates to tasks are synchronized via
the sync server, the updates will not contain these attributes and they
will show as "deleted" in the `task info` display on the older version.
Aside from the noise in the `task info` output, this is harmless.
2021-08-05 02:11:27 -04:00
Rosen Penev
17e6257e07 more emplace
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-08-05 02:03:59 -04:00
Rosen Penev
5c137f5c8f use emplace
Allows removing the constructor name as emplace forwards the arguments
directly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-08-05 02:03:59 -04:00
Tomas Babej
bf93c28919 docs: Document #2247 2021-07-31 14:23:22 -04:00
Tomas Babej
9b8cbace45 tests: Add test for TW #2247 2021-07-31 14:23:22 -04:00
Korrat
b33a99a748 Nag based on task state before modification
With this patch, taskwarrior uses the urgency of tasks before any
modifications are applied when deciding whether to show nag messages.

Previously, taskwarrior would apply modifications before deciding
whether to show nag messages, which could lead to spurious nag messages
when completing an active task.
2021-07-30 18:56:25 -04:00
Scott Mcdermott
607baa081d CmdInfo: fix missing spaces causing run-on in virtual tag list
without the fix, when listing out the tags we would see output like:

    Virtual tags  PENDING PROJECTREADY TAGGED UDA UNBLOCKED

there isn't a PROJECTREADY tag of course, but rather a missing space
2021-07-23 17:07:11 -04:00
sebu06
3d61966831 Added coloring of dates with scheduled tasks
Color can be changed using color.calendar.scheduled
2021-07-20 07:38:14 -04:00
sebu06
90bc7f4b23 Fixed rendering of countdown columns
Countdown columns were counting up days instead of down.
2021-07-19 20:07:30 -04:00
sebu06
69b34dcef3 using convenience function for paying attention to verbosity tokens 2021-07-18 15:09:52 -04:00
Sebastian Uharek
bd2ad97ccb Added output of number of tasks to be modified in batch mode 2021-07-18 15:09:52 -04:00
Scott Mcdermott
178c17d032 tests: Add tests for bug #2519 2021-07-18 09:45:00 -04:00
Scott Mcdermott
07e2c23a91 tests: Add test cases for 'by' date attribute modifier 2021-07-18 09:45:00 -04:00
Scott Mcdermott
4738f25d59 AUTHORS: Add Scott Mcdermott among authors
Scott added date attribute filter modifier 'by'
2021-07-18 09:45:00 -04:00
Scott Mcdermott
3948484cf5 docs: Document TW #2536 2021-07-18 09:45:00 -04:00
Scott Mcdermott
ac3572a4f5 CLI2: New filter attribute modifier "by", uses '<=' for comparison
This patch allows e.g. due.by:tomorrow that includes all of tomorrow,
because it uses less than or equal to, rather than just less than, like
'before' modifier does.  This allows matching the last second of the day
when filtering by "due.by:eod", and more generally allows date filters
with an inclusive end-interval specification.

Closes #2536
2021-07-18 09:45:00 -04:00
Vladyslav Tronko
af6f2b55ec Fix matching project name during urgency calculation 2021-07-17 16:21:59 -04:00
Tomas Babej
9c2affa0cb libshared: Bump to fix build on OS-X
See [0] and [1] for reference.

[0]: https://github.com/GothenburgBitFactory/libshared/pull/43
[1]: https://github.com/GothenburgBitFactory/libshared/pull/44
2021-07-12 23:02:01 -04:00
Tomas Babej
171a586a3f libshared: Bump version to enforce safer file writes
Part of a solution for #152.
2021-07-11 20:28:21 -04:00
Tomas Babej
bc9888fc5e Changelog: Document TW #2530 2021-07-10 07:24:57 -04:00
Tomas Babej
79c860053b tests: Add a regression test for #2530 2021-07-10 07:24:57 -04:00
Tomas Babej
85a6c90c2b AUTHORS: Add Pablo among authors
Pablo reported regression TW #2519.
2021-07-03 10:47:38 -04:00
Tomas Babej
dc5e925b43 docs: Document TW #2519 2021-07-03 10:47:38 -04:00
Tomas Babej
fb208cf494 tests: Fix incorrect test constant 2021-07-03 10:47:38 -04:00
Tomas Babej
11b85373ee tests: 'eoy' is the last second of the year 2021-07-03 10:47:38 -04:00
Tomas Babej
9d80570073 libshared: Bump version
This brings back behaviour of "end of" named dates to point to the last
second of the given date.

Closes #2519.
2021-07-03 10:47:38 -04:00
Tomas Babej
8b1cc98d05 Changelog: Document TW #2514 2021-06-26 14:38:18 -04:00
Tomas Babej
3cbbe7e701 docs: Add reportaman to authors 2021-06-26 14:38:18 -04:00
Tomas Babej
d76b4e0d86 tests: Add test for TW #2514 2021-06-26 14:38:18 -04:00
Tomas Babej
cc0ba46873 feedback: Consider start and end attributes when reporting task durations
Instead of relying on the modification times, we can use the values of
the start and end attributes, if available.

This allows us to perform historical changes that result in correct
duration intervals reported by task info.

Closes #2514
2021-06-26 14:38:18 -04:00
Tomas Babej
a519cf59f2 docs: Document TW #1804 2021-06-23 00:13:03 -04:00
Tomas Babej
88eca5f535 tests: Add test for TW #1804 2021-06-23 00:13:03 -04:00
Tomas Babej
8f7e41b392 parseJSON: Allow annotations with missing entry values
This relaxes previous stringent requirements on the input values during
import.

Closes #1804.
2021-06-23 00:13:03 -04:00
Tomas Babej
6d81acd355 parseJSON: Ensure NULL values from failed lookups do not persist
The operator[] insets values if the lookup fails, which creates null
pointers.

See: https://en.cppreference.com/w/cpp/container/map/operator_at
2021-06-23 00:13:03 -04:00
Tomas Babej
75422e80e3 reproduce: Add gdb into the image 2021-06-23 00:13:03 -04:00
Tomas Babej
388a8917ba ChangeLog: Document #1938 2021-06-19 12:29:41 -04:00
Tomas Babej
3bf714e715 tests: Add test for TW #1938 2021-06-19 12:29:41 -04:00
Tomas Babej
c8560a8c96 test: Make all tests executable 2021-06-19 12:29:41 -04:00
Tomas Babej
a219bd30cf Task: Bump annotations with duplicate entry values
Since annotations are stored as a map, duplicate entry values lead to
data loss (i.e. annotations overriding each other on import). Perhaps
the choice of using a map internally should be reconsidered.

Closes #1938.
2021-06-19 12:29:41 -04:00
Tomas Babej
3fed9e9abb README: Add sponsoring section 2021-06-19 11:48:17 -04:00
Tomas Babej
dbcf2c4fe0 README: Add sponsors badge 2021-06-19 07:42:59 -04:00
Tomas Babej
b77bbaa988 Changelog: Document TW #1788 2021-06-12 17:00:11 -04:00
Tomas Babej
2d5c506d5e README: Link more badges to sources of information 2021-06-12 15:49:53 -04:00
Tomas Babej
f4a31620f1 Changelog: Document TW #2502 2021-06-12 15:49:06 -04:00
Tomas Babej
8b86f16f25 Variant: Do not use implicit fall-through
The code handling the comparison between the date and string types would
convert the variants to correct types, but only through multi-level
fall-through in the switch statement, which is always a bit of a
dangerous construct.

Added explicit return for the non-trivial case, preventing the need for
the fall-through.

Closes #2502.
2021-06-12 15:49:06 -04:00
Tomas Babej
8f16824538 tests: Add test for partial operator over date/string pairs 2021-06-12 15:49:06 -04:00
Tomas Babej
c98fe5f34b cmake: Remove recur2.cpp from CMakeLists 2021-06-12 10:40:47 -04:00
Tomas Babej
34ffd164bb recur: Remove references to the new recurrence mechanism 2021-06-12 10:40:29 -04:00
Tomas Babej
4db7990df8 recur: Remove WIP recurrence overhaul implementation
The feature has been moved to 3.0 milestone. Also, we are now using
feature branches for development of new functionality, in order to make
the development branch more stable.
2021-06-12 10:37:23 -04:00
Tomas Babej
7011cfb05a Changelog: Document TW #2503 2021-06-10 21:44:07 -04:00
Tomas Babej
5e5a48606f CmdExec: Prevent user from executing an empty command
Closes #2503.
2021-06-10 21:44:07 -04:00
Tomas Babej
496773b386 README: Update Discord badge with an invite link 2021-06-06 01:19:51 -04:00
Tomas Babej
3581260ee7 performance: Move sample data out of the perl script
This made language statistics look much more skewed towards Perl than
they should be.
2021-06-06 00:27:39 -04:00
Tomas Babej
c5a210e4a0 README: Add contributor-relevant badges 2021-06-06 00:27:39 -04:00
Tomas Babej
47d17a4365 README: Move downloads stats under main header 2021-06-06 00:27:39 -04:00
Tomas Babej
920c31ea72 README: Add downloads badges to the top 2021-06-06 00:27:39 -04:00
Tomas Babej
b7541571b5 test: Replace cmake3 with cmake for CentOS builds 2021-06-06 00:27:39 -04:00
Tomas Babej
d705abee32 README: Make it clear what discussions are we talking about 2021-06-06 00:27:39 -04:00
Tomas Babej
2ae4db3a37 README: Add libera.chat 2021-06-06 00:27:39 -04:00
Tomas Babej
b5134c9be3 README: Add Github discussions and download statistics 2021-06-06 00:27:39 -04:00
Tomas Babej
acc72e7e3d README: Make some of the links actionable 2021-06-06 00:27:39 -04:00
Tomas Babej
f3abccd151 README: Promote our communities 2021-06-06 00:27:39 -04:00
Tomas Babej
7d053f29e1 README: Add Taskwarrior heading 2021-06-06 00:27:39 -04:00
Tomas Babej
3d352d73d2 README: Decrease logo size 2021-06-06 00:27:39 -04:00
Tomas Babej
ab545b9f49 README: Add the logo on top 2021-06-06 00:27:39 -04:00
Tomas Babej
987414dc8e README: Add overview stats 2021-06-06 00:27:39 -04:00
Tomas Babej
67a7a9cb93 README: Expand INSTALL section 2021-06-06 00:27:39 -04:00
Tomas Babej
ab04227eb5 README: Drop submodule update instructions
These should no longer be relevant.
2021-06-06 00:27:39 -04:00
oxalica
3c402d4fb7 Prefer /usr/bin/env and searching from PATH 2021-06-02 19:35:18 -04:00
oxalica
2cb8f1d5ea Support relative include for themes in taskrc 2021-06-02 19:34:57 -04:00
oxalica
3672ed0c1b Remove build date/time from diagnostic message
This message does not really help, and makes the binary
non-deterministic.
2021-06-02 19:33:39 -04:00
Vladimir Rusinov
e762306563 Add a test for capitalized months and days of the week.
The change was implemented in
https://github.com/GothenburgBitFactory/libshared/pull/33.

This change adds validation in TaskWarrior.

Fixes:
* https://github.com/GothenburgBitFactory/taskwarrior/issues/2160
* https://github.com/GothenburgBitFactory/taskwarrior/issues/2364
2021-05-29 10:36:25 -04:00
Paul Beckingham
a9a7f16af3 Added F?UNDING.yml to connect the repo with the sponsorship 2021-05-25 18:40:38 -04:00
begasus
cd06d937a5 Search for libnetwork on Haiku 2021-05-25 18:26:04 -04:00
begasus
4fff27f4bc Fix reference for errno.h on Haiku 2021-05-14 00:04:48 -04:00
Rosen Penev
73575f8d88 convert manual loops to std::count_if
Simpler and generates less assembly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-01 21:20:52 -04:00
Tomas Babej
62399239ca Filter: Make +ACTIVE trigger pendingOnly shortcut 2021-04-24 15:28:00 -04:00
Tomas Babej
523e2b40fe Filter: Consider presence of +PENDING tag signal to skip completed.data
This puts +PENDING at the same level of treatment as status:pending when
it comes to decision whether the data processed should be pending only.

The mechanism is by no means perfect and should be improved in the
future.
2021-04-24 15:28:00 -04:00
Tomas Babej
5e87be4641 Filter: Fix copy-paste error in pendingOnly 2021-04-24 15:28:00 -04:00
Tomas Babej
c7fd6b798b libshared: Bump version to support Pig.getUntilAscii 2021-04-24 10:47:28 -04:00
Tomas Babej
87d0499fc8 performance: Use ascii-only version of getUnitl for parsing attribute names
Not having to consider utf-8 characters has performance benefits.
2021-04-24 10:47:28 -04:00
Tomas Babej
95b135b59e DOM: Create a copy of Task object only if needed 2021-04-24 10:47:28 -04:00
Tomas Babej
87b0be9b6f performance: Pre-emptively reserve size of the values vector
Each token will add a corresponding Variant into the vector, so we can
avoid the performance penalty connected with dynamic resizes of the
vector.
2021-04-24 10:47:28 -04:00
Tomas Babej
312f77f703 performance: Do not use Pig to extract raw line content 2021-04-24 10:47:28 -04:00
Tomas Babej
e7487c8a63 performance: Avoid lexing input when not needed in getDOM
Lexing a token can be expensive operation. Perform lexing only if a
UUID/ID reference could have been provided.
2021-04-24 10:47:28 -04:00
Tomas Babej
c3f9d09d22 performance: Cache used command value
The detected command does not change once CLI2::analysis has been
performed. Cache the value of the command to avoid the need to
re-discover the correct value each time we're interested in it.
2021-04-24 10:47:28 -04:00
Tomas Babej
a19773873a performance: Cache CLI2::canonicalize lookups
Canonicalization of attributes or attribute prefixes happens once per
every single task considered in the filtering process. It maps short,
prefixed names to their full-length versions, for example:

"pro" -> "project" in the expression "project:Home"

It follows that such process is not task-dependant and as such the
lookups can be cached.
2021-04-24 10:47:28 -04:00
Rosen Penev
ab7f5b0b51 clang-tidy: loop conversion
Found with modernize-loop-convert

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 09:13:22 -04:00
Rosen Penev
15f0ab87e0 clang-tidy: use const references
Found with performance-for-range-copy

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 01:59:45 -04:00
Rosen Penev
e84930be8d clang-tidy: use auto
Found with modernize-use-auto

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 01:39:23 -04:00
Rosen Penev
d0c4350c2f clang-tidy: add missing reserve calls
Found with performance-inefficient-vector-operation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 00:22:43 -04:00
Rosen Penev
3cafb5257e clang-tidy: use = default
Found with modernize-use-equals-default

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 00:15:06 -04:00
Rosen Penev
4aaaa8dcc8 clang-tidy: use bool literals
Found with modernize-use-bool-literals

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-23 00:11:52 -04:00
Rosen Penev
8ffb85b327 clang-tidy: use '' for single character find
Found with performance-faster-string-find

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-04-22 23:18:16 -04:00
Tomas Babej
b1e70fd780 NEWS: Update tested confiurations 2021-04-22 00:02:37 -04:00
Tomas Babej
6aa46e7d1a ci: Test on Ubuntu 21.04 2021-04-22 00:02:37 -04:00
Tomas Babej
70815edb8a ci: Test on Fedora 34 2021-04-22 00:02:37 -04:00
Tomas Babej
44220287c4 CmdCalendar: Only display relevant parts of the legend 2021-04-21 23:44:36 -04:00
Tomas Babej
d4c6b0d2d9 AUTHORS: Add Daniel Mowitz 2021-04-21 23:13:23 -04:00
Tomas Babej
02a60b096c docs: Document TW #1911 2021-04-21 23:12:38 -04:00
Tomas Babej
282f3d344a CmdCalendar: Adjust styling 2021-04-21 23:09:08 -04:00
Tomas Babej
14fd8ea673 man: Adjust wording 2021-04-21 22:58:47 -04:00
DanielMowitz
7a07e09733 Added documentation for multi-day holidays. 2021-04-21 22:23:00 -04:00
DanielMowitz
277373ba89 Added tests for single and multiday holidays. 2021-04-21 22:23:00 -04:00
DanielMowitz
a16f3addc7 Made CmdCalendar.cpp even less redundant by only calling
config.get ("dateformat.holiday") once for every method.
2021-04-21 22:23:00 -04:00
DanielMowitz
23244e61a5 Renamed variables to be more consistent and improved readability. 2021-04-21 22:23:00 -04:00
DanielMowitz
f703bd5a74 Made CmdCalendar.cpp less redundant by only calling
Context::getContext().config once per method.
2021-04-21 22:23:00 -04:00
DanielMowitz
45c67fef6e Update CmdCalendar.cpp
Converted some tabs to spaces and added braces to a for loop.
2021-04-21 22:23:00 -04:00
DanielMowitz
374b97bb66 Implemented multi-day holidays. 2021-04-21 22:23:00 -04:00
DanielMowitz
dc5ebfa612 Made the code for colorizing the calendar a little more dry. 2021-04-21 22:23:00 -04:00
Tomas Babej
affcd82466 ci: Re-enable testing on Arch Linux
This reverts commit 17ab0dfcf4.

The underlying issue with the archlinux was fixed, see references in the
above commit for more details.
2021-04-14 03:10:21 -04:00
Tomas Babej
e70c2b7c7d docs: Add reference about TW #2451 to ChangeLog 2021-04-14 02:44:33 -04:00
Tomas Babej
d20631beb0 tests: Add regression test for TW #2451 2021-04-14 02:44:33 -04:00
Tomas Babej
bd0d907335 CLI2: Apply desugaring of plain filter args to date args
This ensures that commands like `task marc` perform description
substring search on `marc`.

Closes #2451.
2021-04-14 02:44:33 -04:00
Tomas Babej
475a16b3d4 CLI2: Fix docstring for desugarFilterPlainArgs
Desugaring is applied also for tokens of Lexer::type::identifier, make
sure the docstring correctly documents that.
2021-04-14 02:44:33 -04:00
Paolo Capriotti
856b589bac Parse 'context' verbose token correctly 2021-04-11 20:32:42 -04:00
Max Rossmannek
6546c050c5 Un-wait a waiting task when deleted 2021-04-06 23:34:32 -04:00
Max Rossmannek
33dcea68f5 Un-wait a waiting task when done
Implements #2322
2021-04-06 23:34:32 -04:00
Tomas Babej
5c92dea674 ChangeLog: Document TW #2442
Closes #2442.
2021-04-04 22:14:15 -04:00
Tomas Babej
506cb4fc8a tests: Add regression test for TW #2429 2021-04-04 22:14:14 -04:00
DanielMowitz
fb6c42f375 Change nagging behavior
Don't nag if the specified set of tasks consists only of highest urgency tasks.
2021-04-04 22:06:07 -04:00
Tomas Babej
4dea5dd944 README: Highlight our new discussion forum 2021-04-03 20:44:05 -04:00
Tomas Babej
e86f2591ba docs: Update README 2021-04-03 20:37:33 -04:00
Tomas Babej
e8c38b75e7 ChangeLog: Document TW #2428 2021-04-03 17:57:08 -04:00
Tomas Babej
693f2f74cd CmdEdit: Respect bulk option
Since 'task edit' is a data-modification operation (that is particularly
hard to cancel mid-way), it should also respect the 'bulk' option like
all the other modification operations (mod, start...).

Closes #2428.
2021-04-03 17:57:08 -04:00
Tomas Babej
d95b64c5a0 docs: Add info about writeable contexts to NEWS 2021-04-03 15:01:39 -04:00
Tomas Babej
c80869875d docs: Update changelog 2021-04-03 15:01:39 -04:00
Tomas Babej
8bf2aec0ae docs: Promote myself 2021-04-03 15:01:39 -04:00
Tomas Babej
4a726175f5 docs: Expand the manpage to explain writeable context 2021-04-03 15:01:39 -04:00
Tomas Babej
fe6a6ca93b compatibility: Explicitly specify template type to support older compilers
This makes curret development branch buildable on Ubuntu 18 / Centos 7 /
SUSE 15.
2021-04-03 15:01:39 -04:00
Tomas Babej
80490b625e tests: Fix context-related tests 2021-04-03 15:01:39 -04:00
Tomas Babej
c701137313 CmdContext: Report context as not found if nothing was deleted 2021-04-03 15:01:39 -04:00
Tomas Babej
1bba59e972 CLI2: Move the recursion block to the right place in addContext 2021-04-03 15:01:39 -04:00
Tomas Babej
87c05c4c6d tests: Context definition now requires answering two questions 2021-04-03 15:01:39 -04:00
Tomas Babej
201b1c37b4 CmdContext: Allow user to define read-only / write-only contexts 2021-04-03 15:01:39 -04:00
Tomas Babej
4de23a3e20 CmdContext: Remove all types of context when deleting 2021-04-03 15:01:39 -04:00
Tomas Babej
062878022b CmdContext: Expand information provided in 'context show' 2021-04-03 15:01:39 -04:00
Tomas Babej
a558ffcd42 CmdContext: List info about both read and write context 2021-04-03 15:01:39 -04:00
Tomas Babej
351c3b025c getTaskContext: Allow getting context info for a non-active context 2021-04-03 15:01:39 -04:00
Tomas Babej
c0ded37f91 CmdContext: Discard .read/.write suffix when discovering contexts 2021-04-03 15:01:39 -04:00
Tomas Babej
41823c7939 CmdContext: Expand description 2021-04-03 15:01:39 -04:00
Tomas Babej
9a380887ee CLI2: Simplify context determination
Simlifies by offloading portion of the logic into the singleton Context
class (which has nothing to do with the task context per se, just a
implementation singleton).
2021-04-03 15:01:39 -04:00
Tomas Babej
985aab0541 CmdContext: Define both read and write context 2021-04-03 15:01:39 -04:00
Tomas Babej
26fb4521fe tests: Update commands.t to reflect new signature of CmdAdd
The 'task add' command now accepts context.
2021-04-03 15:01:39 -04:00
Tomas Babej
5716f5abb7 CLI2: Generalize method to add context to support writeable context 2021-04-03 15:01:39 -04:00
Tomas Babej
5c3cf0f438 CLI2: Implement inserting modification arguments
Method to inject mods into the command, to be used by writeable context.
2021-04-03 15:01:39 -04:00
Tomas Babej
9128798fee CLI2: Generalize 'add' to insert arguments at arbitrary position 2021-04-03 15:01:39 -04:00
Tomas Babej
9bc726ba61 commands: Modify CmdAdd and CmdLog to use context
This only sets the command properties.
2021-04-03 15:01:39 -04:00
Tomas Babej
a2c3d224d3 CLI2: Generalize _context_filter_added latch name 2021-04-03 15:01:39 -04:00
Jonas DOREL
510786ff91 Hooks readme : mention task diagnotics debug 2021-03-18 21:59:42 -04:00
Tomas Babej
60bce31df1 tests: Fix TW URL in the version.t test 2021-03-17 22:05:27 -04:00
Tomas Babej
339397f836 meta: Fish shell domain is fishshell.com 2021-03-12 07:58:05 -05:00
Tomas Babej
0d1542ccd7 meta: Update various links to https 2021-03-12 07:58:04 -05:00
Jonas DOREL
b4a36d942e Document verbose key: context 2021-03-08 19:35:02 -05:00
Tomas Babej
e221ea6571 meta: Bump libshared version 2021-03-07 12:50:04 -05:00
Tomas Babej
17ab0dfcf4 ci: Temporarily disable Archlinux testing
The build of the docker image currently fails due to a bug unrelated to
TW [1]. This will be reverted once the issue is fixed.

[1] https://bugs.archlinux.org/task/69563
2021-03-02 20:40:15 -05:00
Tomas Babej
d215bc52b1 tests: Update styling 2021-03-02 20:39:32 -05:00
Rosen Penev
04454a995f clang-tidy: use raw string literals
Found with modernize-raw-string-literals

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-03-02 20:36:02 -05:00
Tomas Babej
cdbab698e3 tests: Add tests for TW #2124 2021-01-31 05:04:43 -05:00
Tomas Babej
5317f7c795 bash_tap: Implement mechanism to mark a test as expected failure
Test author can now mark a bash tap test as expected failure by setting
EXPFAIL environment variable to a non-zero value.
2021-01-31 05:04:43 -05:00
Tomas Babej
a5eee5fcc6 tests: Expand tests for #2392 2021-01-30 21:53:37 -05:00
Tomas Babej
bf11ef3f12 docs: Document resolved issues 2021-01-30 21:40:41 -05:00
Tomas Babej
456dfdc8cf CLI2: Handle empty parentheses expressions
Since taskwarrior is a CLI tool, it is likely that it is interacted with
programmatically. As such, expressions that a human would not type, but
are syntactically correct are bound to occur. In particular, task
currently is not able to handle empty parentheses expressions:

    task +PENDING '(' ')'

This is due to "and" operator being injected between +PENDING (which
translates to '( status = pending )' and '('.

Modify the insertJunctions to not insert the 'and' operator between two
sub-expressions if one of them is an empty parentheses expression.

Closes #1896.
2021-01-30 21:40:41 -05:00
Tomas Babej
c6fdb7e590 tests: Add test for TW-1883 (#1896) 2021-01-30 21:40:41 -05:00
Tomas Babej
5525460bdf tests: Add test for TW #2257 2021-01-30 21:40:41 -05:00
Tomas Babej
f96e78b721 tests: Unmark two expectedFailure tests that are now working 2021-01-30 21:40:41 -05:00
Tomas Babej
b2fa368afa tests: Expect failure for another test with project:B) syntax
It could be argued we should not support this syntax (i.e. the ')'
character needs to be surrounded by a space. Note that the ability to
contain ')' as part of the attribute value was explicitly requested (as
a bug report) in TW-1455 (#1481).
2021-01-30 21:40:41 -05:00
Tomas Babej
64b6784f69 ColumnTypeString: Only input of single DOM token should be attempted to be evaluated
Attribute names are often words from natural language (such as start,
end or entry). The ColumnTypeString supports resolving DOM references,
such that task commands like 'task add proj:3.proj' work.

However, the current implementation of the ColumnTypeString::modify
only looks at the first token to determine whether the input is a DOM
reference or not. This mischaracterizes inputs like 'task add
"description:start something"', where the first token of the attribute
value looks like a DOM reference (the 'start' attribute), but is in
fact, a part of larger string.

Since all DOM references are single tokens, only interpret the input as
a possible DOM reference if and only if one token was found.

Closes #1908.
2021-01-30 21:40:41 -05:00
Tomas Babej
fac48e5e93 tests: Add test for TW-1895 (#1908) 2021-01-30 21:40:41 -05:00
Tomas Babej
13cf6decd3 tests: Add test for TW #2386 2021-01-30 21:40:41 -05:00
Tomas Babej
a1471b67fb CLI2: Do not attempt to evaluate values of string attributes 2021-01-30 21:40:41 -05:00
Jan Palus
9548bfdaba build: make sure internal libs are built as static
these libararies are not installed so don't leave the decision up to
enviroment which might build shared libraries resulting in binary
with missing deps after installation

Fixes #2403
2021-01-29 23:05:02 -05:00
Nate Wheeler
9be55fc070 Fixes issue where bash paths were not correctly deconstructed, leading to unit tests failing when the path had a space in it 2021-01-27 21:22:50 -05:00
Tomas Babej
5f39b368b6 docs: Documentation updates related to #2393 2021-01-24 10:51:14 -05:00
Tomas Babej
2df80aac01 CmdCalendar: Default to current month if no due date is present
Previously, if no due date was set on any pending/waiting task, the
calendar output would start at the end of the currently supported date
period.

Default to current month instead.
2021-01-24 10:51:14 -05:00
Tomas Babej
0234cd8122 CmdCalendar: Support due dates up to year 9999 2021-01-24 10:51:14 -05:00
Tomas Babej
22228547ca CmdCalendar: Consider waiting status equivalent to pending for purposes of display
The purpose of displaying due dates on the calendar is to convey the
relative business of any given day. Waiting status signifies a task
should not be displayed in reports yet, but for the purposes of
planning, it should be displayed in the calendar overview.

Closes #2393.
2021-01-24 10:51:14 -05:00
Tomas Babej
89ffe13677 docs: Document TW #2392 2021-01-24 03:08:10 -05:00
Tomas Babej
63383698da tests: Fix dependencies.t test
Fix minor implementation problems and only skip the undeterministic
portion of the tests.
2021-01-24 03:08:10 -05:00
Tomas Babej
7d2fb18e5d tests: Add test for TW #2392 2021-01-24 03:08:10 -05:00
Tomas Babej
05e7c2aff2 Lexer: Do not allow leading zero for two and more digit integers 2021-01-24 03:08:10 -05:00
Tomas Babej
6a33bb8656 Lexer: Do not allow leading zero for number type 2021-01-24 03:08:10 -05:00
Tomas Babej
b9bc0f8c87 tests: expectedFailure decorator takes no arguments 2021-01-24 03:08:10 -05:00
Thomas Lauf
a2384eadde Move licence URL up
This way Github's licensee tool recognizes the MIT license correctly
2021-01-22 20:34:00 +01:00
Tomas Babej
368e323d80 tests: Mark tests as expected failure instead of skip
That way we are notified by the test suite if the underlying issue gets
fixed.
2021-01-18 02:59:11 -05:00
Tomas Babej
5928604752 tests: Remove expected failure marks for relative date resolution
The tests now no longer fail.
2021-01-18 02:59:11 -05:00
Tomas Babej
15a5ced0e1 docs: Document TW #1654 / #2390 2021-01-18 02:59:11 -05:00
Tomas Babej
e46bcf3ab4 NEWS: Document extended Duration values 2021-01-18 02:59:11 -05:00
Tomas Babej
5aa3073703 libshared: Bump libshared to extend Duration value support 2021-01-18 02:59:11 -05:00
Tomas Babej
7935364fce tests: Adjust tests for recent variant changes 2021-01-18 02:59:11 -05:00
Tomas Babej
ef1e889262 ColTypeDate: Do not explicitly add now to relative dates
Relative dates are now implicitly anchored around now datetime point
during casting, hence there is no reason to do this anymore.
2021-01-18 02:59:11 -05:00
Tomas Babej
5e0fc1caab Variant: Ensure implmentation of addition/subtraction of dates/durations does not involve casting
Implicit casting of a duration anchors it around the 'now' point in
time, which would throw off the conversion.
2021-01-18 02:59:11 -05:00
Tomas Babej
7242accb58 Variant: Convert durations into dates as implicitly anchored around now
The _period attribute holds the number of seconds that the Duration
holds, while _date attribute holds the number of seconds since the
beginning of unix epoch (also known as epoch time). As such, it does not
make sense to convert _period directly into _date.

Interpret _period as offset relative to current unix epoch time.

Closes #2390.
2021-01-18 02:59:11 -05:00
Tomas Babej
5e68165556 changelog: Document TW #2389 2021-01-16 18:55:01 -05:00
Tomas Babej
6aed73ee99 scripts: Use full hostname in the PS1 variable for reproduction environment 2021-01-16 18:50:16 -05:00
Tomas Babej
d9c4621e33 cmake: Limit containers to 1GB of memory
This helps debugging issues when task ends up OOMKilled, without having
to exhaust memory of the host machine.
2021-01-16 18:49:12 -05:00
Tomas Babej
1855d2c729 libshared: Bump version 2021-01-16 18:47:40 -05:00
Tomas Babej
71f477e013 cmake: Make builds of make review/reproduce quiet
Reduce noise on the output. The build process still outputs the build
log in case it fails.
2021-01-16 12:43:23 -05:00
Tomas Babej
c72e1ea379 cmake: Do not send local context when for make review/reproduce
The Dockerfiles for make review and make reproduce targets do not use
any information from the local taskwarrior git repository. Use
STDIN-based syntax to ensure local context is not sent to the daemon.

See: https://docs.docker.com/engine/reference/commandline/build/#build-with--
2021-01-16 12:40:56 -05:00
Tomas Babej
94a06ed38a cmake: Add a custom target for reproducing issue reports
Use by issuing command "make RELEASE=v2.5.2 reproduce" where v2.5.2 can
be substituted by other (tagged) release.
2021-01-16 12:29:35 -05:00
Tomas Babej
35cab8845a changelog: Document TW #2292 2021-01-14 18:21:44 -05:00
indev
098be0747d fix: remove lock file on interruption of 'task edit' (#2292) 2021-01-14 18:16:34 -05:00
Jochen Sprickerhof
663c6575ce Use str_replace from libshared 2021-01-07 22:37:04 -05:00
Jochen Sprickerhof
a95205357c Support editing multi-line annotations (Closes: #2283)
Since e4b9c1f annotations where JSON encoded in task edit to escape
new lines (\n). But other strings where mangled as well, like https://
becoming https:\/\/, making it hard to edit.

This patch removes the JSON encoding and indents new lines instead.
2021-01-07 22:37:04 -05:00
Tomas Babej
1cbcdf0969 docs: Update ChangeLog with info about the 2.5.3 release 2021-01-04 01:06:04 -05:00
Tomas Babej
09ae7ce44d NEWS: Update tested configurations 2021-01-04 01:01:10 -05:00
Tomas Babej
2f47226f91 cmake: Prevent nested tarballs (or other archives) in the release
This happened dring the release of the version 2.5.2.
2021-01-04 00:20:08 -05:00
Tomas Babej
d26f79a458 docs: Update copyright 2021-01-03 22:58:02 -05:00
Tomas Babej
ce6ff451b0 cmake: Update list of ignored source files 2021-01-03 22:52:50 -05:00
Tomas Babej
5466f19441 README: Update build status badge prior to the release 2021-01-03 22:52:02 -05:00
Tomas Babej
0db0ab1b3c ci: Pass CONTAINER variable to the test execution step 2021-01-03 22:48:56 -05:00
Tomas Babej
fd34737330 ci: Remove rednudant declaration of runs-on 2021-01-03 22:48:44 -05:00
Tomas Babej
f48f89fbd9 ci: Remove integration with Travis 2021-01-03 22:48:37 -05:00
Tomas Babej
7de0a3afa4 ci: Add Github-workflow based CI pipeline 2021-01-03 22:47:08 -05:00
Tomas Babej
c5aba94233 NEWS: Update tested configurations 2021-01-03 22:35:21 -05:00
Tomas Babej
b7500776fe docs: Document TW #2375 2021-01-03 22:34:54 -05:00
Tomas Babej
620461766e doc: Document TW #2101 2021-01-02 03:01:33 -05:00
Tomas Babej
9017cd6e53 doc: Update copyright to 2021 2021-01-02 02:48:22 -05:00
Tomas Babej
2ebf4b864d ColTypeNumeric: Support date and duration variants
If the lexer identifies an expression as an date or a duration, it
should be re-cast into integer value.

Closes #2101.
2021-01-02 00:21:02 -05:00
Tomas Babej
a641e4315f Variant: Support 64-bit numeric values
Closes #2101.
2021-01-01 23:57:34 -05:00
Tomas Babej
c4cdfdae64 tests: Simplify quote and escape tests to make them more transparent
Remove excessive escaping of backslashes with usage of raw strings. This
makes it more obvious what is the test input and expected output.

One test is currently failing after editing and was marked as expected
failure.
2020-12-31 18:10:52 -05:00
Tomas Babej
9753e22d0c tests: Adjust tests enforcing incorrect behaviour
In 1a001cae, double json-decoding of the attribute values was removed,
and as such we need to adjust tests to actually enforce correct
behaviour.
2020-12-31 14:45:46 -05:00
Tomas Babej
1a001caedd Task: Prevent double json-decoding of attribute values
In bd4a7081, json-decoding of attribute values was introduced as a
workaround to properly handle blackslashes in description and
annotations (see TW-880).

However, this behaviour is no longer present with the new parser and
introduces its own suite of issues (i.e. see #2140).

Closes #2140.
2020-12-31 14:23:55 -05:00
Tomas Babej
942f43d195 tests: Fix TW bug reference number 2020-12-31 14:20:02 -05:00
Tomas Babej
bcc08c8135 docs: Update changelog 2020-12-28 20:48:20 -05:00
Tomas Babej
3b863382b3 tests: Add tests for TW #2060 2020-12-28 20:46:51 -05:00
Tomas Babej
6ff63286b5 CmdInfo: Properly format date and duration UDAs
The 'type' variable was never assigned value, hence the checking for
'date' and/or 'duration' always failed. Use col->type() instead.

Closes #2060.
2020-12-28 20:36:32 -05:00
Tomas Babej
3b978ce265 cmake: Update list of ignored source files
Update after removal of the Travis CI.
2020-12-28 19:35:50 -05:00
Tomas Babej
cf419fda34 README: Update build status badge 2020-12-28 19:34:52 -05:00
Tomas Babej
f8a0ebe504 ci: Pass CONTAINER variable to the test execution step 2020-12-28 19:31:38 -05:00
Tomas Babej
6cf3352b5d ci: Remove rednudant declaration of runs-on 2020-12-28 19:23:09 -05:00
Tomas Babej
cbdd7afea4 ci: Remove integration with Travis 2020-12-28 19:20:19 -05:00
Tomas Babej
c1ed896a53 ci: Add Github-workflow based CI pipeline 2020-12-28 19:19:20 -05:00
Tomas Babej
16529694eb doc: Document change in semantics for someday/later 2020-12-28 02:32:50 -05:00
Tomas Babej
7a8ea633f8 docs: Update NEWS and Changelog with expanded support for Datetime ranges 2020-12-28 02:30:54 -05:00
Tomas Babej
6bbfcba738 libshared: Support Datetime values until year 9999
Closes #2373.
2020-12-28 01:34:41 -05:00
Tomas Babej
59c20a782d tests: Definition of someday is in year 9999 now 2020-12-28 01:33:49 -05:00
Tomas Babej
9ed047d46d Task: Support setting 64-bit integer values
Thanks to Stephan Rieche.
2020-12-27 21:29:15 -05:00
Tomas Babej
3964e7f3de Changelog: Fix attribution 2020-12-20 17:04:07 -05:00
Tomas Babej
9d32b34b49 docs: Add information about unicode characters 2020-12-20 15:37:01 -05:00
Tomas Babej
e6edac7edd build: Update libshared to version supporting Unicode 11
Closes #2333.
2020-12-20 15:27:28 -05:00
Tomas Babej
7dfff13b06 tests: Allow match for 8 bit color code in color.rules.t
The test proper coloring for overdue task from an hour ago fails,
even though the task is properly colored. This is because the blue color
gets upgraded to blue color in 256-color scheme, and hence is
represented with 38;5;4m instead of 34m.

Support both representations of the blue color in the given test.
2020-12-14 23:13:44 -05:00
Tomas Babej
982308412d libshared: Updated to 418a1873aea42f0ed719218628b0ee166b2c281c 2020-12-14 22:37:13 -05:00
Tomas Babej
e37ab8a9ed rules: Reduce code duplication 2020-12-14 22:35:38 -05:00
Tomas Babej
2336c4039d rules: Mark coloring implementations that are not consistent with their corresponding virtual tags 2020-12-14 22:35:37 -05:00
Tomas Babej
2adc5994d5 rules: Make colorizeOverdue properly process dateEarlierToday date state
This makes the coloring implementation consistent with the
Task::is_overdue() method.

Closes #1998.
2020-12-14 22:35:37 -05:00
Tomas Babej
fbf8fe688e CmdCalendar: Properly colorize overdue task from today
Even if task is due today, but the due time is in the past, it is
considered overdue according to the implementation of Task::is_overdue
method.

Make coloring in the calendar output consistent.
2020-12-14 22:35:36 -05:00
Tomas Babej
bfae79eac7 CmdCalendar: Remove accidental repeated blending 2020-12-14 22:35:35 -05:00
Tomas Babej
83a55ccfe5 tests: Add test for coloring an overdue task from earlier today 2020-12-14 22:35:34 -05:00
Tomas Babej
eb32c9d8d7 Context: Correctly handle XDG_CONFIG_HOME paths ending with '/' 2020-12-10 23:49:00 -05:00
Tomas Babej
f0e34a7ef7 Context: Do not append .config if XDG_CONFIG_HOME is defined
- Thanks to Julien Rabinow.
2020-12-10 23:34:59 -05:00
Tomas Babej
b64e754000 cmake: Bring back commit.h.in and cmake.h.in 2020-12-10 22:14:04 -05:00
Tomas Babej
8013654577 cmake: Add additional ignored files for make_package
Closes #2369.

- Thanks to Heiko Becker.
2020-12-10 21:52:56 -05:00
Tomas Babej
1a52c59356 tests: Add test to ensure 64 bit time_t 2020-12-10 00:51:41 -05:00
Tomas Babej
af5e81434f tests: Parallelize more when compiling TW 2020-12-10 00:08:44 -05:00
Tomas Babej
6d74b62dc4 docs: Add entries for alternate location of taskrc to ChangeLog/NEWS 2020-12-09 22:57:57 -05:00
Tomas Babej
1b14ee80bc docs: Clean up ChangeLog and NEWS with duplicated entries from 2.5.2
Many changes made in the 2.6.0 were cherry-picked into 2.5.2 release,
make sure those are not duplicated in 2.6.0 changelog / news.
2020-12-09 22:49:32 -05:00
Tomas Babej
962a8fbe9a AUTHORS: Add Julien among authors 2020-12-09 22:14:28 -05:00
Tomas Babej
5dc42df7d0 Context: Correctly respect empty XDG_CONFIG_HOME 2020-12-09 21:21:17 -05:00
Tomas Babej
1f98b9d128 Context: Adjust styling 2020-12-09 20:35:13 -05:00
Julien Rabinow
dea098d155 update docs to specify XDG_CONFIG_HOME is a valid option 2020-12-09 20:15:22 -05:00
Julien Rabinow
5256797ea9 add support for XDG_CONFIG_HOME 2020-12-09 20:15:22 -05:00
Julien Rabinow
46b553dd8c reorder code to be in same order as comments (intuitive order) 2020-12-09 20:15:22 -05:00
Julien Rabinow
1aa77c9ede fix home_dir variable definition 2020-12-09 20:15:22 -05:00
Tomas Babej
d29ddec34f NEWS: Fix URL for issue submission 2020-12-08 00:44:33 -05:00
Tomas Babej
4d5d901214 NEWS: Fix URL for issue submission 2020-12-08 00:43:14 -05:00
Tomas Babej
fcfe01f301 recur: Prevent infinite loops with 0 periods
Specifying a recurrence interval that amounts to a zero, like 'P0M', 0q
or 0m causes task to fall into an infinite loop when trying to determine
next recurrence dates.

Detect scenarios with zero-length recurrence interval and throw an
exception.

Closes #2262.
2020-12-06 20:58:26 -05:00
Tomas Babej
ccb222a31b tests: Make faketime tests less susceptible to race conditions
The duration can be 10:01 if the original task call happened a split
second before the faketime fixation of +10 minutes.

Use more relaxed regular expresison to check.
2020-12-06 12:02:17 -05:00
Tomas Babej
83f71520d2 tests: Make faketime tests less susceptible to race conditions
The duration can be 10:01 if the original task call happened a split
second before the faketime fixation of +10 minutes.

Use more relaxed regular expresison to check.
2020-12-06 12:00:38 -05:00
Tomas Babej
ee15bfa1db tests: Skip the diagnostics test on Ubuntu 16.04
This is a byproduct of recent bump to C++17 compliant compilers. Ubuntu
16.04 does not have C++17 compliant compiler, but it's still useful to
for us to test 2.5.3 there as the branch does not actually use any of
the C++17 features not available on gcc on Ubuntu.
2020-12-06 11:48:41 -05:00
Tomas Babej
54cfc6cab9 DEVELOPER: Change current release branch version 2020-12-06 11:13:30 -05:00
Tomas Babej
36594df1a9 docs: Update test suite requirements 2020-12-06 11:13:15 -05:00
Tomas Babej
c223b0694c docs: Update compiler requirements 2020-12-06 11:12:58 -05:00
Max Rossmannek
fdaabcf956 Update diag.t to correct C++ version
The default C++ version was updated in 4729876 and this commit reflects
this change in the test.
2020-12-06 10:50:30 -05:00
Paul Beckingham
0202898732 Updated build to use C++17 by default 2020-12-06 10:50:13 -05:00
Tomas Babej
f2abee3606 travis: Preserve Ubuntu 16.04 2020-12-06 10:11:03 -05:00
Tomas Babej
c6ec416e30 ci: Rename Arch container to make it clear we're testing on rolling base 2020-12-06 10:09:53 -05:00
Tomas Babej
9a193e26ec ci: Add support for CentOS 8 2020-12-06 10:09:46 -05:00
Tomas Babej
2657880ff3 ci: Replace F28 and F29 with F31, F32 and F33 2020-12-06 10:09:39 -05:00
Tomas Babej
497262d23c ci: Add Ubuntu 20.04 2020-12-06 10:09:31 -05:00
Tomas Babej
1b745bc505 ci: Properly setup en_US.UTF-8 locale for Ubuntu containers 2020-12-06 10:09:20 -05:00
Max Rossmannek
2620714b43 Fix Arch docker image 2020-12-06 10:01:54 -05:00
Max Rossmannek
4ebf611b91 Fix faketime packages 2020-12-06 10:01:45 -05:00
Max Rossmannek
862ae0b969 Replace libfaketime with faketime in debianstable
I verified locally that this avoids skipping all of the
faketime-dependent unittests. The Travis CI logs will have to be
investigated for all of the other docker images on which distros we may
need to apply a similar fix.
2020-12-06 10:01:30 -05:00
Max Rossmannek
b634dea7ab Attempt greedy docker config update
This is an attempt at updating all docker configurations by simply
replacing the `python` packages with `python3`. The Travis CI will let
us know if this works.
2020-12-06 10:01:19 -05:00
Max Rossmannek
2931be613b Enforce Python 3 in test_hooks/wrapper
This change was not included in the previous commit because the sed
command I used included the `/usr/bin/env` path to ensure I don't
replace any occurences of the word `python` which I did not wish to
replace.
2020-12-06 10:01:09 -05:00
Max Rossmannek
6d2ecaa15c Enforce Python 3 for unittests
This commit updates all tests to enforce the Python3 executable. This is
necessary because the `assertRegex` function we use was renamed to this
name only in Python 3.2 [1]

For reference:
s;/usr/bin/env python;/usr/bin/env python3;g

[1]: https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRegex
2020-12-06 10:00:59 -05:00
Tomas Babej
a8c215774b tests: Implement mechanism for expected failures in C++ tests
Implements detection of unexpected successes and expected failures. Both
classes are represented in the TAP output as 'not ok', unexpected
successes with '# FIXED' metadata and expected failures as '# TODO'.

This brings C++ tests to feature parity with Python-based ones when it
comes to expected failures and unexpected successes.
2020-12-06 09:56:37 -05:00
Max Rossmannek
0ae2f2a5fd Revert "Poor implementation of linewrap restored to task"
This reverts commit 64243e6ec1.
2020-12-06 09:45:30 -05:00
Tomas Babej
af49667adb ci: Rename Arch container to make it clear we're testing on rolling base 2020-12-06 02:42:10 -05:00
Tomas Babej
a6bbeeaab5 ci: Add support for CentOS 8 2020-12-06 01:55:17 -05:00
Tomas Babej
53e39760ab ci: Replace F28 and F29 with F31, F32 and F33 2020-12-06 01:35:47 -05:00
Tomas Babej
88ea8544f6 ci: Add Ubuntu 20.04 2020-12-06 00:53:34 -05:00
Tomas Babej
2b9525980e ci: Removing support for Ubuntu 16.04
Ubuntu 16.04 has reached EOL and the 2.6.0 branch does not compile
there.
2020-12-06 00:28:59 -05:00
Tomas Babej
bf99dedc07 ci: Properly setup en_US.UTF-8 locale for Ubuntu containers 2020-12-06 00:22:32 -05:00
Tomas Babej
9e9ef6a210 tests: Allow specifying lexer tests as expected failures 2020-12-05 21:22:42 -05:00
Tomas Babej
efc56d3ab6 tests: Implement mechanism for expected failures in C++ tests
Implements detection of unexpected successes and expected failures. Both
classes are represented in the TAP output as 'not ok', unexpected
successes with '# FIXED' metadata and expected failures as '# TODO'.

This brings C++ tests to feature parity with Python-based ones when it
comes to expected failures and unexpected successes.
2020-12-05 21:22:24 -05:00
Tomas Babej
d25d930ada tests: Unmark unexpected successes
These tests are passing on 2.6.0.
2020-12-05 19:35:45 -05:00
Tomas Babej
095d51e479 tests: Properly label and detect unexpected successes
Unexpected successes were being labeled as failures, which might be
related to [1]. This behaviour is indeed welcome - we want to detect if
tests are unexpectedly succeeding via test pipeline failures, however,
the current implementation of the simpletap did not properly implement
this.

[1] https://bugs.python.org/issue20165
2020-12-05 19:28:47 -05:00
Tomas Babej
aa97cc7108 holidays: Update holidays using newest holidata.net data
Remove outdated holiday files that could not be updated.
2020-12-05 18:24:32 -05:00
Tomas Babej
a186d9f73f CMake: Also ignore .travis for the tarball build 2020-12-05 18:24:31 -05:00
Tomas Babej
7402f00981 CMake: Exclude .github directory 2020-12-05 18:24:30 -05:00
Tomas Babej
642f250f72 tests: Mark failing corner case tests as expected for 2.6.0
These are still important problems, but it will allow us to fully
leverage CI while waiting for the fixes.
2020-12-05 18:24:29 -05:00
Tomas Babej
9f5a38df60 NEWS: Remove 2.5.2 content, put placeholders for 2.5.3 2020-12-05 18:19:24 -05:00
Tomas Babej
5e30a65689 CMake: Bump version number to 2.5.3 2020-12-05 18:16:58 -05:00
Tomas Babej
c1de01d594 ChangeLog: Update the current release 2020-12-05 17:48:45 -05:00
Tomas Babej
2dd21de678 Merge branch '2.5.2' into master 2020-12-05 17:46:20 -05:00
Paul Beckingham
3e0a428185 Revert "[clang-tidy] Use .empty instead of comparing size"
This reverts commit a331cceded.
2020-12-05 16:18:37 -05:00
Paul Beckingham
b2d46a1eba Revert "[clang-tidy] Use auto where the type is known"
This reverts commit 6ce2a129dd.
2020-12-05 16:18:37 -05:00
Paul Beckingham
0a3a4d364d Revert "[clang-tidy] Use new range based loops"
This reverts commit a468537c1b.
2020-12-05 16:18:37 -05:00
Paul Beckingham
e3e158bf6a Revert "[clang-tidy] Replace push_back with emplace_back"
This reverts commit 897759e4dc.
2020-12-05 16:18:37 -05:00
Paul Beckingham
ead50d4d6e Revert "[clang-tidy] Use default to initialize constructors"
This reverts commit bf40ea8816.
2020-12-05 16:18:37 -05:00
Paul Beckingham
aa841f98c9 Revert "[clang-tidy] Add const where it makes sense"
This reverts commit defd49b13d.
2020-12-05 16:18:37 -05:00
Paul Beckingham
2652a9d3f1 Revert "[clang-tidy] Add const references where useful"
This reverts commit 37b641259c.
2020-12-05 16:18:37 -05:00
Paul Beckingham
8cf4e3de08 Revert "[clang-tidy] Access static member through qualified-id"
This reverts commit 6cd15235be.
2020-12-05 16:18:37 -05:00
Paul Beckingham
504aacd244 Revert "[clang-tidy] Pass by value with std::move"
This reverts commit e46039efb1.
2020-12-05 16:18:37 -05:00
Paul Beckingham
5502729131 Revert "[clang-tidy] Switch C headers to C++ ones"
This reverts commit 0344856d65.
2020-12-05 16:18:37 -05:00
Paul Beckingham
444e5955ac Revert "[clang-tidy] Convert 0/1 to false/true"
This reverts commit 54e40008c9.
2020-12-05 16:18:37 -05:00
Paul Beckingham
0b828be4aa Revert "[clang-tidy] Remove redundant init"
This reverts commit cc6826fc3a.
2020-12-05 16:18:37 -05:00
Paul Beckingham
9016c26828 Revert "[cl;ang-tidy] Don't initialize strings"
This reverts commit 426e067f43.
2020-12-05 16:18:37 -05:00
Paul Beckingham
3eb209f248 Revert "[clang-tidy] Use '' for single characters"
This reverts commit e3ceda9ce1.
2020-12-05 16:18:37 -05:00
Paul Beckingham
c3ecfac4f5 Revert "[clang-tidy] Use const reference instead of initializing string"
This reverts commit ab170e34df.
2020-12-05 16:18:37 -05:00
Paul Beckingham
7d8fff418e Revert "[clang-tidy] Reserve memory for vector loop"
This reverts commit 7f86b29aa9.
2020-12-05 16:18:37 -05:00
Paul Beckingham
702af00435 Revert "[clang-tidy] Remove redundant const"
This reverts commit 55d103c491.
2020-12-05 16:18:37 -05:00
Paul Beckingham
c43a513158 Revert "[clang-tidy] Replace C style casts with C++ ones"
This reverts commit 13e1bf7204.
2020-12-05 16:18:37 -05:00
Paul Beckingham
364b4ea8bd Revert "[clang-tidy] Simplify boolean expressions"
This reverts commit 51870dff34.
2020-12-05 16:18:37 -05:00
Paul Beckingham
623d5ceb59 Revert "[clang-tidy] using dynamic_cast for derived classes"
This reverts commit a02754159c.
2020-12-05 16:18:37 -05:00
Paul Beckingham
6ad1b7d0da Revert "[clang-tidy] match loop size with size()"
This reverts commit 68c446ea08.
2020-12-05 16:18:37 -05:00
Paul Beckingham
c02e369fbc Revert "[clang-tidy] Cast integer to string"
This reverts commit da75c159ca.
2020-12-05 16:18:37 -05:00
Rosen Penev
da75c159ca [clang-tidy] Cast integer to string
Found with bugprone-string-integer-assignment

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
68c446ea08 [clang-tidy] match loop size with size()
Found with bugprone-too-small-loop-variable

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
a02754159c [clang-tidy] using dynamic_cast for derived classes
Found with cppcoreguidelines-pro-type-cstyle-cast

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
51870dff34 [clang-tidy] Simplify boolean expressions
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
13e1bf7204 [clang-tidy] Replace C style casts with C++ ones
Found with google-readability-casting

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
55d103c491 [clang-tidy] Remove redundant const
Found with readability-const-return-type

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
7f86b29aa9 [clang-tidy] Reserve memory for vector loop
Found with performance-inefficient-vector-operation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
ab170e34df [clang-tidy] Use const reference instead of initializing string
Found with performance-unnecessary-copy-initialization

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
e3ceda9ce1 [clang-tidy] Use '' for single characters
Found with performance-faster-string-find

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
426e067f43 [cl;ang-tidy] Don't initialize strings
Found with readability-redundant-string-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
cc6826fc3a [clang-tidy] Remove redundant init
Found with modernize-use-default-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
54e40008c9 [clang-tidy] Convert 0/1 to false/true
Found with modernize-use-bool-literals

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
0344856d65 [clang-tidy] Switch C headers to C++ ones
Found using modernize-return-braced-init-list

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
e46039efb1 [clang-tidy] Pass by value with std::move
Found with modernize-pass-by-value

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
6cd15235be [clang-tidy] Access static member through qualified-id
Found readability-static-accessed-through-instance

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
37b641259c [clang-tidy] Add const references where useful
Found with performance-for-range-copy

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
defd49b13d [clang-tidy] Add const where it makes sense
Found with readability-redundant-string-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
bf40ea8816 [clang-tidy] Use default to initialize constructors
Found with modernize-use-equals-default

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
897759e4dc [clang-tidy] Replace push_back with emplace_back
Found with modernize-use-emplace

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
a468537c1b [clang-tidy] Use new range based loops
Found with modernize-loop-convert

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
6ce2a129dd [clang-tidy] Use auto where the type is known
Found with modernize-use-auto

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Rosen Penev
a331cceded [clang-tidy] Use .empty instead of comparing size
Found with readability-container-size-empty

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-05 15:03:43 -05:00
Tomas Babej
d43fa66489 CmdPurge: Detect the failure mode of trying to purge non-deleted tasks
Prompted by the failure mode described by Glen Solsberry in #2254.
2020-12-05 14:31:27 -05:00
Julien Rabinow
e37d932208 bump libshared submodule version 2020-12-05 14:30:58 -05:00
Tomas Babej
ab12e3fafd CMake: Add custom review target
Use with Github PR ids as follows:
make PR=2358 review
2020-12-04 00:20:30 -05:00
Tomas Babej
522ef20a85 scripts: Add a dockerfile to build review images
This automates the review process of a given PR by checking out the
current HEAD of the given PR and installing TW in a container.
2020-12-04 00:20:29 -05:00
Max Rossmannek
3d850715f4 Make virtual tags consistent across commands.
- the DUETODAY tag was deprecated in b2d49f397
- the QUARTER tag was added in 630a1530e and 4711dd9e1
- the PROJECT, PRIORITY and LATEST tags were added in 4008a64

Note: the documentation in the man page is already up-to-date.

Fixes #2359
2020-12-03 01:45:07 -05:00
Max Rossmannek
4663ca840f Mark failing tests as expected failures
Related issues:
- TW-1630 (#1654) needs to be re-opened!
- TW-1915 (#1928)
2020-11-30 01:01:26 -05:00
Max Rossmannek
d85901e7ff Properly escape filters including spaces
This adds a note to the man page to properly escape filters containing
spaces. It also fixes the unittests to reflect this.

One of the unittests contained an alternative syntax as discussed in
TW-1479 (#1505). It has been extracted into its own unittest and marked
as an expected failure because it is currently not supported.
2020-11-30 01:01:26 -05:00
Max Rossmannek
09e2cb46d6 Simplify task construction 2020-11-30 01:01:26 -05:00
Max Rossmannek
44bcd58051 Fix Undo command
The Undo command broke in 48dff11 when the `onModify` hook got added to
its execution in order to fix #2213. The reason for it begin broke is
that a Task object is created in an unsafe manner because the `prior`
task may be empty.
Catching this case fixes the bug.
2020-11-30 01:01:26 -05:00
Max Rossmannek
50cfd92ad5 Fix Arch docker image 2020-11-30 00:51:54 -05:00
Max Rossmannek
596d681be7 Fix faketime packages 2020-11-30 00:51:54 -05:00
Max Rossmannek
07a27cbd3b Replace libfaketime with faketime in debianstable
I verified locally that this avoids skipping all of the
faketime-dependent unittests. The Travis CI logs will have to be
investigated for all of the other docker images on which distros we may
need to apply a similar fix.
2020-11-30 00:51:54 -05:00
Max Rossmannek
61a78d0a6f Attempt greedy docker config update
This is an attempt at updating all docker configurations by simply
replacing the `python` packages with `python3`. The Travis CI will let
us know if this works.
2020-11-30 00:51:54 -05:00
Max Rossmannek
8b91cd97a8 Enforce Python 3 in test_hooks/wrapper
This change was not included in the previous commit because the sed
command I used included the `/usr/bin/env` path to ensure I don't
replace any occurences of the word `python` which I did not wish to
replace.
2020-11-30 00:51:54 -05:00
Max Rossmannek
f35989be0e Enforce Python 3 for unittests
This commit updates all tests to enforce the Python3 executable. This is
necessary because the `assertRegex` function we use was renamed to this
name only in Python 3.2 [1]

For reference:
s;/usr/bin/env python;/usr/bin/env python3;g

[1]: https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertRegex
2020-11-30 00:51:54 -05:00
Tomas Janousek
2c4d4ad649 Test: Add UUID test demonstrating a "Cannot subtract strings" bug
$ task 0000000d-000a-0000-0000-000000000000 export
Cannot subtract strings
$ task 0000000d-0000-0000-0000-000000000000 export
The expression could not be evaluated.
2020-11-24 02:42:32 -05:00
Leo
041248e7cc Uncoditionally include errno.h instead of guessing
POSIX tells us that it is errno.h, musl fails to build with -Werror
because it redirects sys/errno.h->errno.h and uses #warning
2020-11-21 12:27:29 -05:00
Tomas Babej
a09f9d48ab Update copyright to 2020 2020-11-21 12:27:05 -05:00
Tomas Babej
d81b999fa9 tests: Do not require line buffering
Test runner complains about it not being supported with binary files and
it does not look like it affects any tests in the first place anyway.
2020-11-21 12:27:05 -05:00
Tomas Babej
02db131fa1 tests: Use updated unittest method 2020-11-21 12:27:05 -05:00
Tomas Babej
407d66d681 tests: Use updated Thread object API
Replace isAlive with is_alive as the former is no longer supported in
Python 3.9.
2020-11-21 12:27:05 -05:00
HTunne
75c0e41fcc Make modify and delete commands respect rc.recurrence.confirmation config option. 2020-11-21 12:26:41 -05:00
Tomas Babej
c47c7536f5 travis: Disable testing on gentoo
We would love to test on gentoo, but this currently breaks CI. Open to
community contributions to improve our coverage of this distrubition.
2020-11-21 00:27:36 -05:00
Michał Mirosław
7b2e68d176 Fix parsing of "PnM" recurrence periods
Due to not accounting for the leading "P", getNextRecurrence would always return the same datetime, breaking all generic "PnM" periods and leading to an infinite loop in generateDueDates.
2020-11-17 10:52:47 -05:00
Tin Lai
e0f24c0b19 speed up fish autocompletion and more features in completion options 2020-11-17 10:51:40 -05:00
Tom Dörr
07856c2d33 Update LICENSE
By changing the first line to `The MIT License`, users can see the license on the Github Taskwarrior main page.
2020-11-17 10:49:58 -05:00
Martin Michlmayr
174507e7ad Fix typos 2020-11-17 10:41:13 -05:00
javabird25
81183ae7d1 Fix SIGSEGV when substituting sequence with shorter one 2020-11-17 10:40:38 -05:00
Yoichi Hirai
ab443a8ecf Fix one test about backslash
The test was failing because it expected "Created task 1"
but it saw "Created task 0a436fd8-7f06-4168-a66d-bbc940498af9".

Instead, the new code looks at the description of task 1.
2020-11-17 10:39:37 -05:00
Tomas Babej
6727d08da0 Context: Do not set new-uuid by default
This reverts part of f6b2a6541c, which
(likely accidentally) re-introduced the new-uuid verbosity setting as a
default.
2020-09-18 21:33:54 -04:00
Tomas Babej
b1c95ec1d2 docs: Document changes to new-uuid behaviour
The behaviour of new-uuid was altered in
4e80d5d5fd but not documented.
2020-09-18 21:26:37 -04:00
Tomas Babej
6bfb275dcc CmdAdd: Make sure a UUID is printed if ID does not exist
This fixes a regression was introduced in
4e80d5d5fd.

Currently, if a user (with default configuration) adds a completed or
deleted task, they do not get a confirmation message ("Created task
..."). This is due to the fact that:
a) new-uuid is not set by default
b) new-id is set by default, but only prints message if the added task
   is in pending or waiting state

Make sure to print a message containing UUID reference if the newly
added task is in completed or deleted state.
2020-09-18 21:10:59 -04:00
John Nguyen
cf45f28cc0 Fix typo in man page
The example for _unique has typo, should be using attribute for project.
Fixes #2277
2020-05-17 09:48:24 +02:00
Matthew Martin
4b67f10cb1 Install zsh completer to site-functions 2020-03-12 10:43:34 -04:00
Jochen Sprickerhof
48dff115c2 hook onModify into task undo (Closes: #2213) 2020-03-12 10:42:52 -04:00
0xACE
64243e6ec1 Poor implementation of linewrap restored to task
This addresses #2023

For many years linewrap has been broken in taskwarrior, rendering the
application basically useless in terminals with short widths and tasks
containing URLs in them... This janky line wrap patch sort of works but
introduces other minor graphical glitches.

But seeing as no one took the time to fix it over the years, here some a
small salvation to those who suffer as much as me.

One problem of this patch is, when a line is wrapped, it may be 1 column
smaller than the terminal width, resulting in each line not fully
utilizing the terminal width.

This patch is not polished and could probably need to be tended by
someone who cares more.
2020-03-12 10:40:24 -04:00
Marc Cornellà
dcdf7127e0 Correctly parse projects with spaces in zsh completion
This is the same as how the `_task_zshids` array is created.
See https://github.com/robbyrussell/oh-my-zsh/issues/8249
2020-03-12 10:39:24 -04:00
timbuntu
938e9130d6 Fixed report colors in calendar 2020-03-12 10:38:03 -04:00
Vladimir Rusinov
abddb1ea8e Fix add.t Test1549 test failure.
The test was failing on my machine on fresh checkout. It failed because
somehow both new-id and new-uuid verbosity were set during the test, so
TW defaulted to printing out uuid, which did not match the assertion.

Test fixed by explicitly setting verbosity to new-id.
2020-03-12 10:37:14 -04:00
Anthony VB
cad8bec8b6 Fix a typo. 2019-07-20 14:24:16 -04:00
Anthony VB
352161d3a8 Proofreading to give default values.
Per the beginning of the man page, the summary line should give the default value. This isn't the case in a few places, so I changed them. (No guarantees I found them all.)
2019-07-20 14:24:16 -04:00
Paul Beckingham
3bdc28fdb3 Added Anthony VB to AUTHORS 2019-07-20 14:21:18 -04:00
Anthony VB
0ec12860c1 Reorganise calendar section. 2019-07-20 14:18:54 -04:00
Paul Beckingham
4bbde50d9f Docs: Added Florian 2019-04-28 14:57:48 -04:00
Florian Heiderich
3ec8ace7d1 fix typo ("tests" -> "test") 2019-04-28 14:40:42 -04:00
Chad Phillips
8ebf79e1df fix stale reference to empty priority color config
color.pri.none is now color.uda.priority.none
2019-04-28 14:19:54 -04:00
Paul Beckingham
d01000e255 Updated AUTHOR and Changelog 2019-04-14 19:40:55 -04:00
Paul Beckingham
66f013ac13 - Thanks to Chad Phillips 2019-04-14 19:38:01 -04:00
Chad Phillips
cd62e65a13 JSON encode/decode string UDAs
Previously, multiline string UDAs were not preserved when editing
a task via 'task X edit'. String UDAs are now JSON encoded/decoded
during the edit cycle to allow preservation of multiline
2019-04-14 19:34:57 -04:00
Lionel Miller
e961181b64 Workaround for alias grep=rg in fish 2019-03-03 08:55:28 -05:00
Janik Rabe
cb7f603b89 Fix rc.verbose default value in taskrc(5) 2019-03-02 19:52:49 -05:00
Paul Beckingham
473eb628bc Revert "Workaround for alias grep=rg in fish"
This reverts commit 672611435a.
2019-03-02 19:48:09 -05:00
Lionel Miller
672611435a Workaround for alias grep=rg in fish 2019-03-02 19:45:21 -05:00
mrossinek
5aaee7678f Add unit test 2019-03-02 19:44:18 -05:00
mrossinek
6fbd400e77 Fix #1999 2019-03-02 19:44:18 -05:00
mrossinek
16d967ad01 Add missing newline 2019-03-02 19:43:13 -05:00
mrossinek
254e737e00 Fix #2002 2019-03-02 19:43:13 -05:00
Janik Rabe
f6b2a6541c Fix rc.verbose documentation in taskrc(5) 2019-02-14 08:02:58 -05:00
Paul Beckingham
e97146a463 Added taiyu-len 2019-02-07 08:42:44 -05:00
taiyu
7c7400b367 Update man pages to reflect changes 2019-02-07 08:41:25 -05:00
taiyu
5150eb4b0f update tests for changes 2019-02-07 08:41:25 -05:00
taiyu
fd441bdd62 increase cli priority, respect override verbosity. 2019-02-07 08:41:25 -05:00
taiyu
d2b1662a39 Simplify CLI2::get* methods. allow rc=... 2019-02-07 08:41:25 -05:00
taiyu
8514071f19 applyOverrides: add messages after overrides 2019-02-07 08:41:25 -05:00
Paul Beckingham
306c628c34 Updated Changelog 2019-02-07 08:36:07 -05:00
Janik Rabe
a8acff9f7f CmdHistory: repeat unit if a larger unit changes
In history and ghistory commands, repeat the smaller units when a larger unit
changes.  For example, if January 2019 is displayed immediately after January
2018, re-show the "January" label instead of only showing the year change.
2019-02-07 08:33:09 -05:00
Paul Beckingham
16d55ed102 Added Beka and mrossinek 2019-02-07 08:31:14 -05:00
Paul Beckingham
b6da775958 Update summary.t 2019-02-07 08:20:14 -05:00
Paul Beckingham
2e72ae5068 Update project.t 2019-02-07 08:20:14 -05:00
Paul Beckingham
8df69597f6 Update sort.cpp 2019-02-07 08:20:14 -05:00
Paul Beckingham
32d14bc085 Update sort.cpp 2019-02-07 08:20:14 -05:00
Paul Beckingham
803f4a5017 Update CmdProjects.cpp 2019-02-07 08:20:14 -05:00
mrossinek
6a8beed7f5 Extract project sorting function 2019-02-07 08:20:14 -05:00
mrossinek
7cb341ee05 Extend bug fix of #1917 to summary command 2019-02-07 08:20:14 -05:00
mrossinek
f5cd9cde05 Properly sort projects into an ordered list in project command 2019-02-07 08:20:14 -05:00
mrossinek
9c89870c71 Add unit-tests to verify fix for 1904 2019-02-07 08:20:14 -05:00
mrossinek
28974cd794 Extend bug fix of #1917 to summary command 2019-02-07 08:20:14 -05:00
mrossinek
54a57e9954 Fix bug #1917 (previously known as TW-1904) 2019-02-07 08:20:14 -05:00
Laurence
f580cc5f6f Update description of command uuids 2019-02-04 12:30:23 +01:00
mrossinek
76e355c602 Add documentation on context usage 2019-02-04 12:27:30 +01:00
Tomas Babej
5ae4ed1076 README: Make the travis badge point to correct repository 2019-01-02 19:45:43 -05:00
Tomas Babej
f95d1d0472 tests: Add CentOS7 CI testing support 2019-01-02 13:24:11 -05:00
Tomas Babej
fa84dce496 Merge pull request #2097 from mrossinek/test_fixes
Fix variant_subtract test case after #2095
2019-01-02 13:10:18 -05:00
mrossinek
517ea11c4c Mark project.t 1455 as expected failure 2019-01-02 17:32:03 +01:00
mrossinek
447830dc68 Fix wait.t to correct expected output 2019-01-02 16:36:45 +01:00
mrossinek
fc3b336f1a Fix variant_subtract test case after PR #2095 2019-01-02 16:32:16 +01:00
Paul Beckingham
6fcbe2efbd Merge pull request #2080 from corbolais/2.6.0
add (shortened) ID column to timesheet output
2019-01-02 08:03:50 -05:00
Paul Beckingham
24943a441d Merge pull request #2076 from djmitche/task-decode-comment
Docs: make comment on Task::decode match reality
2019-01-02 08:02:58 -05:00
Paul Beckingham
660b7c09af Merge pull request #2095 from tbabej/test_fixes
TW-1511: Interpret string subtraction as concanetation with a dash
2019-01-02 08:02:12 -05:00
Paul Beckingham
01696a307b Merge pull request #2094 from tbabej/2.6.0
Multi-OS Travis-based CI service
2019-01-02 08:00:41 -05:00
Tomas Babej
bf2cd0f5e4 TW-1511: Interpret string subtraction as concanetation with a dash
Fixes #1537 (previously known as TW-1511).
2019-01-01 21:56:06 -05:00
Tomas Babej
9fa94516ad tests: Make sure expected message is printed out
Information about newly logged task is only printed if new-uuid
verbosity flag is configured.
2019-01-01 21:31:00 -05:00
Tomas Babej
55ee8c9233 tests: Install libfaketime in all containers 2019-01-01 20:19:52 -05:00
Tomas Babej
9b690fca57 tests: Improve bytes python3 compatibility 2019-01-01 20:11:13 -05:00
Tomas Babej
7aac91f29f tests: due:yesterday does not match current year on 1st of January 2019-01-01 20:02:20 -05:00
Tomas Babej
0e052b6415 tests: We are enforcing C++14 compliance
From the 2.6.0 version onwards we are enforcing C++14 compliance. Test
accordingly.
2019-01-01 19:46:32 -05:00
Tomas Babej
ef3c1bc090 tests: mkstemp_exec needs argument in bytes 2019-01-01 19:44:39 -05:00
Tomas Babej
cd52782d2f tests: Fix incorrect assert method 2019-01-01 19:44:39 -05:00
Tomas Babej
07c21e79ad tests: Do not use filter objects
The filter objects are not well handled by the unittest framework, pass
a concrete number of occurences instead.
2019-01-01 19:44:39 -05:00
Tomas Babej
7c37940549 tests: Encode input data for the subprocess
Needed for Python2/3 compatibility.
2019-01-01 19:09:54 -05:00
Tomas Babej
f55468d5aa tests: Use verbose output when running the tests 2019-01-01 15:44:19 -05:00
Tomas Babej
2f247c712c travis: Reorder platform entries, move Gentoo to the top
Since the Gentoo build takes the longest, it makes sense to start
executing it as first.
2019-01-01 14:59:44 -05:00
Tomas Babej
675b8e2798 tests: Do not explicitly require Python 2.7 2019-01-01 14:53:44 -05:00
Tomas Babej
8ae7e1677b tests: Add Archlinux 2018 platform 2019-01-01 14:25:57 -05:00
Tomas Babej
86c7c84fec tests: Add OpenSUSE platform 2019-01-01 14:10:23 -05:00
Tomas Babej
dcbefe51bb tests: Add Debian Testing as a platform 2019-01-01 13:51:47 -05:00
Tomas Babej
a50f442c10 tests: Add gentoo platform 2019-01-01 13:25:07 -05:00
Tomas Babej
84b481b374 travis: Be explicit about Mac OS X version 2019-01-01 12:19:05 -05:00
Tomas Babej
6af6894d14 travis: Use docker run instead of docker up 2019-01-01 12:12:11 -05:00
Tomas Babej
eed5a30ecc tests: Add support for Fedora 29 2019-01-01 12:01:24 -05:00
Tomas Babej
4dbad4c1e2 tests: Add testing support for Ubuntu 18.04 2019-01-01 12:00:19 -05:00
Tomas Babej
8c8ffa1173 travis: Use travis_terminate instead of exit 2019-01-01 11:53:21 -05:00
Tomas Babej
1d7d86e709 travis: Make sure error codes propagate outside of the if clause 2019-01-01 11:19:36 -05:00
Tomas Babej
043bcbfb2f tests: Properly set the xtrace flag 2019-01-01 11:12:02 -05:00
Tomas Babej
311334f4eb travis: Execute tests instead of rebuilding the container again in the script phase 2019-01-01 11:07:02 -05:00
Tomas Babej
90170a5820 tests: Add OS X test sript 2019-01-01 11:04:24 -05:00
Tomas Babej
9222e80439 travis: Set generic language to avoid Ruby default 2019-01-01 10:55:46 -05:00
Tomas Babej
27443493e0 travis: Remove syntax errors 2019-01-01 10:54:02 -05:00
Tomas Babej
754583a552 travis: Remove language 2019-01-01 10:49:56 -05:00
Tomas Babej
bc6a0156df travis: Fix bash syntax error 2019-01-01 10:49:05 -05:00
Tomas Babej
7270167aca travis: Specify test matrix explicitly and add OS X 2019-01-01 10:38:16 -05:00
Tomas Babej
ca124fc030 README: Move badges below the heading 2019-01-01 10:23:19 -05:00
Tomas Babej
ebd320b063 README: Add travis badge 2019-01-01 10:22:34 -05:00
Tomas Babej
6d0f17620f tests: Add intial version of the Travis CI file 2019-01-01 10:19:45 -05:00
Tomas Babej
c11f0da7df tests: Rename docker-compose service to keep naming consistent 2019-01-01 10:19:32 -05:00
Tomas Babej
156f9c5270 tests: Add docker-compose file 2019-01-01 10:13:31 -05:00
Tomas Babej
a7baa9fef2 tests: Add test container for Debian Stable 2019-01-01 09:34:09 -05:00
Tomas Babej
ac8c6d52fc tests: Change default command of the test containers to end with ./problems
This makes sure that non-zero return code is propagated out of the
container.
2019-01-01 09:33:29 -05:00
Tomas Babej
9a8890f479 test: Workaround the cyclic dependencies between the libraries 2019-01-01 08:59:46 -05:00
Tomas Babej
3e41a4b01f test: Add fedora28 and ubuntu1604 dockerfiles
These dockerfiles can be used to run taskwarrior's test suite on the
respective platforms using the following commands:

$ cd taskwarrior.git
$ docker build -t test-tw-fedora28 -f test/docker/fedora28 .
$ docker run test-tw-fedora28

For ubuntu, replace fedora28 with ubuntu1604.
2019-01-01 08:48:36 -05:00
Tomas Babej
8066e4e6e2 meta: Update copyright year 2019-01-01 08:46:21 -05:00
Tomas Babej
b5d7845c6d libshared: Update submodule 2019-01-01 08:45:37 -05:00
Me
0b04f74a9a add (shortened) ID column to timesheet output
Signed-off-by: Me <corbolais@gmail.com>
2018-12-08 03:34:28 +01:00
Paul Beckingham
493bbadb18 Create index.html 2018-11-21 12:14:15 -05:00
Dustin J. Mitchell
f1599d8029 Docs: make comment on Task::decode match reality 2018-11-10 19:42:15 -05:00
Paul Beckingham
bd221a5adc TW #2004: "shell" should not be expand to "exec tasksh"
- Thanks to Arvedui
2018-08-12 10:28:40 -04:00
Paul Beckingham
1c4647708a TW #2047: Exiting the task editor with an error code doesn't remove the lock file
- Thanks to coaxial
2018-08-12 09:57:32 -04:00
Paul Beckingham
96f9c3ef45 TW #2053: Do not set CMP0037 on CMake 3.11.0 and above
- Thanks to Janik Rabe
2018-08-12 09:49:39 -04:00
Paul Beckingham
252a3cea8a Merge pull request #2053 from janikrabe/cmake-cmp0037-fix
Do not set CMP0037 on CMake 3.11.0 and above
2018-08-12 09:48:50 -04:00
Paul Beckingham
9c89a229fa TW #2007: Compute number of current tasks correctly
- Thanks to Janik Rabe
2018-08-12 09:46:51 -04:00
Paul Beckingham
e0adb4536c Merge pull request #2052 from janikrabe/burndown-current
TW #2007: Compute number of current tasks correctly
2018-08-12 09:45:34 -04:00
Paul Beckingham
5d0a577deb TW #2051: doc/man: ready tasks sorted with started tasks 1st
- Thanks to Simon Désaulniers
2018-08-12 09:43:36 -04:00
Paul Beckingham
d571483410 Merge pull request #2051 from sim590/man-ready-sort-method
doc/man: ready tasks sorted with started tasks 1st
2018-08-12 09:40:03 -04:00
Janik Rabe
32b3afc8d0 Do not set CMP0037 on CMake 3.11.0 and above
This policy is no longer necessary because CMake issue #16062, which
caused incorrect warnings to be shown, has been resolved in 3.11.0.
2018-08-11 15:38:28 +03:00
Janik Rabe
e2573d4516 TW #2007: Compute number of current tasks correctly
Closes #2007
2018-08-08 16:47:33 +03:00
Simon Désaulniers
0c89f98967 doc/man: ready tasks sorted with started tasks 1st 2018-07-27 17:37:54 -04:00
Paul Beckingham
8e20c48df4 Merge pull request #2041 from aleprovencio/2.6.0
Updates vim's ftdetect
2018-07-07 09:06:54 -04:00
Alexandre Provencio
07e612a8c2 Updates vim's ftdetect
As described on issue #2032.
2018-06-17 20:14:59 -03:00
Paul Beckingham
4a42364775 Merge pull request #2033 from kraetzin/2.6.0
Display task ID when unwaiting task
2018-06-03 14:15:47 -04:00
Vladimir Shulyak
ca55624286 Display task ID when unwaiting task 2018-05-27 23:17:30 +01:00
Paul Beckingham
543251da21 Merge pull request #2031 from laurence6/2.6.0
Update copyright
2018-05-24 09:26:21 -04:00
Laurence
78bbcd25c6 Update copyright 2018-05-24 00:11:33 -04:00
Paul Beckingham
829caa4b85 TW #2020: reserved.lines is not affecting the burndown height
- Thanks to ad₋si.
2018-05-13 13:54:04 -04:00
Paul Beckingham
a3dcabb2b3 Docs: Removed incorrect URL 2018-05-13 10:41:27 -04:00
Paul Beckingham
b2cfe11d17 Merge pull request #2009 from rudis/2.6.0
Docs: mention "urgency" as possible attribute for filters
2018-04-24 13:24:43 -04:00
Simon Ruderich
bdfa55040d Docs: mention "urgency" as possible attribute for filters 2018-04-09 10:19:46 +02:00
Paul Beckingham
66b2e3468c TW #1922: Can't find export scripts
- Thanks to tom-doerr
2018-03-18 11:29:27 -04:00
Paul Beckingham
11e467fe5a TW #1986: [Nit] Update DEVELOPER.md after migration to Github
- Thanks to Kirill Bobyrev
2018-03-18 11:19:56 -04:00
Paul Beckingham
b2f5cd0b89 Code cleanup: used auto 2018-03-18 11:10:13 -04:00
Paul Beckingham
d312775f99 TW #1973: Don't nag when no tasks are READY
- Thanks to Martin F. Krafft
2018-03-18 11:09:34 -04:00
Paul Beckingham
f37e98765b Merge pull request #1980 from omtcvxyz/C++14
Update notes regarding C++14 support
2018-03-18 10:44:24 -04:00
Paul Beckingham
06066f025e libshared: Upgraded to 999c824cf1139d208e884042eddef87a1d76fb7e 2018-03-13 20:28:54 -04:00
Paul Beckingham
f811ff96c2 Updated AUTHORS 2018-03-07 19:42:39 -05:00
Paul Beckingham
eb72f0c084 Merge pull request #1978 from omtcvxyz/use-nullptr
Use nullptr instead lf C-styled NULL
2018-03-07 19:39:07 -05:00
Kirill Bobyrev
ae2f5f7567 Update notes regarding C++14 support
4a929197ae introduced C++14 support.
The build will now terminate unless the compiler supports C++14
dialect. The documentation does not reflect that: this commit updates
few reference files to actually say that the building process requires
a C++14-compliant compiler.
2018-03-08 02:47:31 +03:00
Kirill Bobyrev
5cdbe6d019 Use nullptr instead lf C-styled NULL 2018-03-07 22:21:28 +03:00
Paul Beckingham
24634f2d15 Merge pull request #1976 from rudis/2.6.0
More doc fixes
2018-03-06 21:25:52 -05:00
Simon Ruderich
c4f217d5c4 Docs: remove duplication in task-color.5
In the example there are more than the three listed wildcard patterns.
Instead of listing them all, list just one. This is enough to describe
the idea.
2018-03-06 21:59:12 +01:00
Simon Ruderich
bc0bf873de Docs: fix incorrect value in task-color.5 2018-03-06 21:58:29 +01:00
Simon Ruderich
b92ab68ef6 Context: remove duplicate default value for rule.precedence.color 2018-03-06 21:54:08 +01:00
Simon Ruderich
1435ec0cfe Docs: fix outdated link in task-sync.5 2018-03-04 23:06:19 +01:00
Paul Beckingham
46c2c87eb4 Docs: Updated AUTHORS 2018-03-04 13:26:43 -05:00
Paul Beckingham
a8446f7f85 Merge pull request #1975 from rudis/misc-doc
Misc doc improvements
2018-03-04 13:24:28 -05:00
Paul Beckingham
523318098b Update task-sync.5.in
Downgraded 'Always secure' to 'Secure communication', for accuracy.
2018-03-04 13:21:44 -05:00
Paul Beckingham
dba78e0b7b Merge pull request #1974 from rudis/2.6.0
Docs: improve verbose description in taskrc.5.in
2018-03-04 13:18:44 -05:00
Simon Ruderich
dd708e0595 Docs: remove instructions which are already default in task-color.5
The text even mentions, that it might not be necessary. So just remove
this section.
2018-03-04 14:54:52 +01:00
Simon Ruderich
8aa02f1d0c Docs: don't mark cloud provides as "always secure" in task-sync.5
The data is stored remotely and possibly (depending on the provider) not
transfered securely.
2018-03-04 14:54:21 +01:00
Simon Ruderich
b204e90b3f Docs: remove insecure CA configuration from task-sync.5
The option taskd.trust is documented in taskrc.5 if the user really
needs it. But we shouldn't suggest an insecure configuration in the
default setup instructions.
2018-03-04 14:53:07 +01:00
Simon Ruderich
4af0a02262 Docs: sync "SEE ALSO" sections of task-color.5 and task-sync.5 2018-03-04 14:53:07 +01:00
Simon Ruderich
0addd89393 Docs: always use https:// link for taskwarrior.org 2018-03-04 14:53:07 +01:00
Simon Ruderich
e817dfc800 Always use https:// link for opensource.org
It was already used in a few places, make this consistent.
2018-03-04 14:53:07 +01:00
Simon Ruderich
e4a6c389ad Docs: always use <> tags for placeholders in man pages 2018-03-04 14:53:07 +01:00
Simon Ruderich
6e0aeaa005 Docs: use unabbreviated "task colors" command in taskrc.5 2018-03-04 14:53:07 +01:00
Simon Ruderich
66d3d46443 Docs: quote values for calendar.details in taskrc.5 2018-03-04 14:53:07 +01:00
Simon Ruderich
c94c1391f4 Docs: try to clarify what falls under header/footnote verbose settings 2018-03-04 11:21:32 +01:00
Simon Ruderich
10f2b2c575 Docs: "recur" also implies "footnote" 2018-03-04 11:02:18 +01:00
Simon Ruderich
9494cbd256 Docs: fix typos in taskrc man page 2018-03-04 10:56:09 +01:00
Paul Beckingham
20a2bbd94f Docs: Added Tiago 2018-02-22 20:34:39 -05:00
Paul Beckingham
ba40399721 Merge pull request #1969 from tmatias/typo
fix small typo in taskrc's man page
2018-02-22 20:33:14 -05:00
Tiago Matias
68fcb1baf8 typo -> very simply syntax -> very simple syntax 2018-02-22 22:16:22 -03:00
Federico Hernandez
4ffdfe817f Changed to a more generic URL for testing 2018-02-18 00:30:13 +01:00
Federico Hernandez
3f216884e7 Updated URL references 2018-02-18 00:29:38 +01:00
Federico Hernandez
45a455c0b3 Updated URLs and copyright year 2018-02-18 00:02:20 +01:00
Federico Hernandez
125a47e3c8 Udated URL in .gitmodules to point to GH 2018-02-17 23:00:46 +01:00
Paul Beckingham
3bb988c57c Docs: Updated Changelog with pull request info 2018-02-17 10:29:48 -05:00
Paul Beckingham
dc5514254a Merge pull request #1966 from jwilk-forks/errno
Tests: Don't hardcode errno constants
2018-02-17 10:00:47 -05:00
Jakub Wilk
e36145b4fa Tests: Don't hardcode errno constants
The values of ENOENT and ESRCH are architecture-dependent, so don't
assume they're always 2 and 3.
2018-02-17 13:59:29 +01:00
Paul Beckingham
a9017ccf19 TW-54/#115: Reduce output for timesheet
- Thanks to Aikido guy.
2018-02-16 22:41:46 -05:00
Paul Beckingham
1335d8fb1e TW-1917/#1930: "above" does a string comparison, even when the value is numeric
- Thanks to Dirk Deimeke.
2018-02-16 22:14:26 -05:00
Paul Beckingham
4a929197ae Build: C++14 support added 2018-02-16 22:04:29 -05:00
Paul Beckingham
8699b60690 - Thanks to php-coder 2018-02-16 21:50:14 -05:00
Paul Beckingham
61c04382ff TW-1906/#1919: sync sub-command is missing from task(1) manual page
- Thanks to rjc.
2018-02-16 21:33:28 -05:00
Dirk Deimeke
e6f6d88390 README.md
- Added instructions for failing clone of libshared.git
2018-02-13 19:26:28 +01:00
Paul Beckingham
eca40844ad Docs: Updated URLs 2018-02-08 22:08:59 -05:00
Paul Beckingham
75367e5928 Docs: Fixed md 2018-02-07 20:54:41 -05:00
Paul Beckingham
57e26494fd Docs: Fixed md 2018-02-07 20:51:35 -05:00
Paul Beckingham
43bc0a389a Docs: Updated README.md
- Thanks to Thomas Lauf
2018-02-07 20:49:48 -05:00
Paul Beckingham
72d48ccd8d Templates: Combined two sentences for readability 2018-02-07 20:49:22 -05:00
Federico Hernandez
935a410429 Reformatting 2018-02-07 15:06:15 +01:00
Federico Hernandez
d343da448c Made the question a checkbox
To be checked off by the submitter.
2018-02-07 15:02:43 +01:00
Dirk Deimeke
b0b95f6442 Added Link to "How to request a feature" 2018-02-07 14:57:47 +01:00
Paul Beckingham
77dc8c86a8 Github: typo 2018-02-07 08:50:41 -05:00
Paul Beckingham
20098f81af Github: Added pull request template 2018-02-07 08:49:57 -05:00
Paul Beckingham
27c324fc2c Issues: /Updated template for feature requests 2018-02-07 08:44:19 -05:00
Paul Beckingham
765db3093a Docs: Updated URLs 2018-02-07 08:40:38 -05:00
Paul Beckingham
05e0091212 Issues: Create issue-template.md 2018-02-07 08:32:58 -05:00
Federico Hernandez
4b148b9670 Merge pull request #2 from Lynoure/patch-2
Update to markdown and rename DEVELOPER to DEVELOPER.md
2018-02-06 21:23:14 +01:00
Lynoure Braakman
8aeb038338 Update and rename DEVELOPER to DEVELOPER.md
Rough markdownification, no content changes
2018-02-06 19:13:01 +01:00
Paul Beckingham
72149fe492 Merge pull request #1 from buhtz/patch-1
URL formatting
2018-02-04 23:17:03 +01:00
buhtz
9528e9b853 URL formating 2018-02-04 23:06:58 +01:00
Paul Beckingham
2dae6c0ab4 Docs: Updated man page discussing rc.recurrence 2018-02-04 09:45:02 +01:00
Paul Beckingham
51ae097388 Eval: Eliminated string def 2018-02-03 14:06:53 +01:00
Mark Scannell
7af6db4c17 Portability: Updated to make main re-entrant()
- New INSTALL instructions to emscripten, and AUTHORS for contribution.
2018-01-31 19:45:07 -05:00
Paul Beckingham
cae3f06b7d Lexer: Migrated to unicodeLatinDigit 2018-01-25 01:08:26 -05:00
Paul Beckingham
adc965e762 Lexer: Migrated to unicodeLatinAlpha 2018-01-25 00:59:05 -05:00
Paul Beckingham
e199bc98b3 Lexer: Migrated to unicodeHexDigit 2018-01-25 00:53:47 -05:00
Paul Beckingham
cac258ef72 Lexer: Migrated to unicodeWhitespace 2018-01-25 00:47:23 -05:00
Paul Beckingham
751ae17b22 TW-1947: "urgency.over" filter seems to not work correct
- Thanks to Marc Richter.
2018-01-24 23:57:44 -05:00
Paul Beckingham
c242730b6d Lexer: Fixed DOM missing lookahead 2018-01-24 23:50:42 -05:00
Paul Beckingham
0ec2fb03c2 Tests: Fixed broken color merge tests 2018-01-24 21:53:26 -05:00
Paul Beckingham
f7d47b8ee6 Tests: Fixed brokend color.footnote test 2018-01-24 21:51:48 -05:00
Paul Beckingham
6374246d02 I18N: Removed language build settings 2018-01-21 23:36:00 -05:00
Paul Beckingham
016bb94d3f l10n: Eliminated i18n.h 2018-01-21 23:29:59 -05:00
Paul Beckingham
0a5f062ba8 l10n: Eliminated some column labels 2018-01-21 23:26:38 -05:00
Paul Beckingham
aa4b342fbe l10n: Eliminated some column labels 2018-01-21 23:25:11 -05:00
Paul Beckingham
ebf6a80dcb l10n: Eliminated some column labels 2018-01-21 23:22:41 -05:00
Paul Beckingham
bf576a869e l10n: Eliminated some column labels 2018-01-21 23:21:43 -05:00
Paul Beckingham
98b433bee3 l10n: Eliminated some column labels 2018-01-21 23:19:11 -05:00
Paul Beckingham
a1431f0d98 l10n: Eliminated some column labels 2018-01-21 23:07:04 -05:00
Paul Beckingham
20ed6c0169 l10n: Eliminated some column labels 2018-01-21 22:50:49 -05:00
Paul Beckingham
af8531630d DOM: No more I18N 2018-01-21 22:49:42 -05:00
Paul Beckingham
2201d304ee l10n: Eliminated some column labels 2018-01-21 22:49:27 -05:00
Paul Beckingham
ed657f3ecf l10n: Eliminated some column labels 2018-01-21 22:46:48 -05:00
Paul Beckingham
023afe352a l10n: Eliminated some column labels 2018-01-21 22:44:45 -05:00
Paul Beckingham
f731960f98 l10n: Eliminated some column labels 2018-01-21 22:43:24 -05:00
Paul Beckingham
caea41c6a0 l10n: Eliminated some column labels 2018-01-21 22:38:14 -05:00
Paul Beckingham
865e277b76 l10n: Eliminated some column labels 2018-01-21 22:32:17 -05:00
Paul Beckingham
611d09cb16 l10n: Eliminated some column labels 2018-01-21 22:18:18 -05:00
Paul Beckingham
957b769412 l10n: Eliminated some column labels 2018-01-21 22:15:26 -05:00
Paul Beckingham
cf148c065d l10n: Eliminated some column labels 2018-01-21 22:14:14 -05:00
Paul Beckingham
bf770fda91 l10n: Eliminated some column labels 2018-01-21 22:12:59 -05:00
Paul Beckingham
5335512c38 l10n: Eliminated some column labels 2018-01-21 22:11:25 -05:00
Paul Beckingham
a6c4c2fb2a l10n: Eliminated some column labels 2018-01-21 22:09:51 -05:00
Paul Beckingham
6c1a411d7e l10n: Eliminated some column labels 2018-01-21 22:07:57 -05:00
Paul Beckingham
a506555606 l10n: Eliminated some column labels 2018-01-21 22:06:20 -05:00
Paul Beckingham
317f184ce7 l10n: Eliminated some column labels 2018-01-21 22:02:38 -05:00
Paul Beckingham
87ec85c1fe l10n: Eliminated some column labels 2018-01-21 19:43:05 -05:00
Paul Beckingham
7022c434fd l10n: Eliminated some column labels 2018-01-21 19:35:23 -05:00
Paul Beckingham
dbaac47f25 l10n: Eliminated STRING_COLUMN_LABEL_ADDED, STRING_COLUMN_LABEL_AGE 2018-01-21 19:25:10 -05:00
Paul Beckingham
6c0b47db33 l10n: Eliminated STRING_COLUMN_LABEL_ACTIVE, STRING_COLUMN_LABEL_STARTED 2018-01-21 19:21:48 -05:00
Paul Beckingham
75c9dcc6aa l10n: Eliminated STRING_COLUMN_EXAMPLES_* 2018-01-21 19:17:10 -05:00
Paul Beckingham
64f2436d87 l10n: Eliminated STRING_COLUMN_LABEL_DESC 2018-01-21 13:15:20 -05:00
Paul Beckingham
0cd5fbe625 l10n: Eliminated some STRING_COLUMN_EXAMPLES_* 2018-01-21 13:12:09 -05:00
Paul Beckingham
294f819648 l10n: Eliminated STRING_CMD_UNDO_* 2018-01-21 13:06:07 -05:00
Paul Beckingham
4a54d82cef l10n: Eliminated STRING_CMD_UDAS_* 2018-01-21 13:03:57 -05:00
Paul Beckingham
541e6a1de8 l10n: Eliminated STRING_CMD_COMTAGS_USAGE 2018-01-21 13:01:39 -05:00
Paul Beckingham
02b4d8e821 l10n: Eliminated STRING_CMD_*IDS_* 2018-01-21 12:59:43 -05:00
Paul Beckingham
1acdf1cafc l10n: Eliminated STRING_CMD_CUSTOM_* 2018-01-21 12:55:07 -05:00
Paul Beckingham
ba11e9608f l10n: Eliminated STRING_CMD_ZSHATTS_USAGE 2018-01-21 12:51:10 -05:00
Paul Beckingham
7bf8432ace l10n: Eliminated STRING_CMD_*COMMANDS_* 2018-01-21 12:46:18 -05:00
Paul Beckingham
e62b8702dc l10n: Eliminated STRING_CMD_EXEC_* 2018-01-21 12:42:28 -05:00
Paul Beckingham
bb6f78b7c3 l10n: Eliminated STRING_CMD_URGENCY_* 2018-01-21 12:38:47 -05:00
Paul Beckingham
511d6f79f9 l10n: Eliminated STRING_CMD_TAGS_* 2018-01-21 12:36:02 -05:00
Paul Beckingham
4f46332fa7 l10n: Eliminated STRING_CMD_CAL_* 2018-01-21 12:27:29 -05:00
Paul Beckingham
6360e32665 l10n: Eliminated STRING_CMD_ALIASES_* 2018-01-21 12:24:22 -05:00
Paul Beckingham
2d859aa048 l10n: Eliminated STRING_CMD_INFO_* 2018-01-21 12:21:42 -05:00
Paul Beckingham
c8c2be1652 l10n: Eliminated STRING_CMD_REPORTS_* 2018-01-21 12:14:45 -05:00
Paul Beckingham
f307cabc9e Code cleanup: Removed unnecessary include 2018-01-21 12:14:25 -05:00
Paul Beckingham
9188cb083c l10n: Eliminated STRING_CMD_IMPORT_* 2018-01-21 12:09:51 -05:00
Paul Beckingham
ac61e77675 Code cleanup: Removed unnecessary include 2018-01-21 12:09:00 -05:00
Paul Beckingham
f8ae0577b4 l10n: Eliminated STRING_CMD_ADD_* 2018-01-21 12:01:54 -05:00
Paul Beckingham
5f407ad121 Code cleanup: Removed unnecessary include 2018-01-21 12:01:20 -05:00
Paul Beckingham
83695efb84 L10N: Normalized files 2018-01-21 11:54:11 -05:00
Paul Beckingham
30ae2dd355 l10n: Eliminated STRING_CMD_UNIQUE_* 2018-01-21 11:48:16 -05:00
Paul Beckingham
ee59bde88b Code cleanup: Removed unnecessary include 2018-01-21 11:47:59 -05:00
Paul Beckingham
0998552dc0 l10n: Eliminated STRING_CMD_LOG_* 2018-01-21 11:43:57 -05:00
Paul Beckingham
a343b80134 L10N: Eliminated check_translations.sh 2018-01-21 11:36:51 -05:00
Paul Beckingham
4232932663 l10n: Eliminated STRING_CMD_{G,}HISTORY_* 2018-01-21 11:36:29 -05:00
Paul Beckingham
7646c15f45 l10n: Eliminated STRING_CMD_CALC_* 2018-01-21 11:23:44 -05:00
Paul Beckingham
208cc52aab Code cleanup: Removed unnecessary include 2018-01-21 11:23:02 -05:00
Paul Beckingham
98f7b36ccd l10n: Eliminated STRING_CMD_VERSION_* 2018-01-21 11:19:01 -05:00
Paul Beckingham
e128185f5f CmdVersion: Uses libshared osName 2018-01-21 11:18:43 -05:00
Paul Beckingham
c937f18ab8 l10n: Eliminated STRING_CMD_PREPEND_* 2018-01-21 11:13:13 -05:00
Paul Beckingham
fbcb2b6c65 l10n: Eliminated STRING_CMD_TIMESHEET_* 2018-01-21 11:09:05 -05:00
Paul Beckingham
f87b780fd7 l10n: Eliminated STRING_CMD_CONFIG_* 2018-01-21 11:06:36 -05:00
Paul Beckingham
be72058b31 l10n: Eliminated STRING_CMD_CONTEXT_* 2018-01-20 21:58:55 -05:00
Paul Beckingham
f6b14adb30 l10n: Eliminated STRING_CMD_COLOR_* 2018-01-20 21:49:35 -05:00
Paul Beckingham
8c7f3be1bd l10n: Eliminated STRING_FEEDBACK_NO_TASKS_SP 2018-01-20 21:40:46 -05:00
Paul Beckingham
11921878a4 l10n: Eliminated STRING_CMD_APPEND_* 2018-01-20 21:39:49 -05:00
Paul Beckingham
360b1d81d1 l10n: Eliminated STRING_CMD_PURGE_* 2018-01-20 21:29:51 -05:00
Paul Beckingham
e00f106012 l10n: Eliminated STRING_CMD_PROJECTS_* 2018-01-20 21:25:31 -05:00
Paul Beckingham
9ad638c98a l10n: Eliminated STRING_CMD_DENO_* 2018-01-20 21:16:21 -05:00
Paul Beckingham
11c11de46d l10n: Eliminated STRING_CMD_ANNO_* 2018-01-20 21:12:12 -05:00
Paul Beckingham
ce6f4963e7 l10n: Eliminated STRING_CMD_COUNT_* 2018-01-20 21:07:37 -05:00
Paul Beckingham
57ba9edf4f l10n: Eliminated STRING_CMD_STATS_* 2018-01-20 21:04:56 -05:00
Paul Beckingham
0d2cf73d90 l10n: Eliminated STRING_CMD_SUMMARY_* 2018-01-20 20:56:54 -05:00
Paul Beckingham
47d17b67e0 l10n: Eliminated STRING_CMD_BURN_* 2018-01-20 20:51:31 -05:00
Paul Beckingham
07989d62b9 l10n: Eliminated STRING_CMD_GET_* 2018-01-20 20:38:33 -05:00
Paul Beckingham
2f6819744f l10n: Eliminated STRING_CMD_SHOW* 2018-01-20 20:33:39 -05:00
Paul Beckingham
09e7569cf3 l10n: Eliminated STRING_CMD_DELETE_* 2018-01-20 20:09:25 -05:00
Paul Beckingham
f09b65c980 l10n: Eliminated STRING_CMD_UDAS_* 2018-01-20 20:02:08 -05:00
Paul Beckingham
018e7e3547 l10n: Eliminated STRING_COLUMN_LABEL_DEP* 2018-01-20 19:56:53 -05:00
Paul Beckingham
2eff7bb5e2 calc: Fixed string param 2018-01-20 16:31:09 -05:00
Paul Beckingham
2b35eef864 l10n: Eliminated STRING_CMD_DUPLICATE_* 2018-01-20 15:44:24 -05:00
Paul Beckingham
641b2dd412 l10n: Eliminated STRING_CMD_MODIFY_* 2018-01-20 15:40:22 -05:00
Paul Beckingham
9613350bb3 l10n: Eliminated STRING_CMD_SYNC_* 2018-01-20 15:34:00 -05:00
Paul Beckingham
abf529eba8 l10n: Eliminated STRING_CMD_DIAG_* 2018-01-20 15:22:25 -05:00
Paul Beckingham
9b9735836a l10n: Eliminated STRING_CMD_DONE_* 2018-01-20 15:04:10 -05:00
Paul Beckingham
28c6363f09 l10n: Eliminated STRING_CMD_STOP_* 2018-01-20 14:59:56 -05:00
Paul Beckingham
58523c3d78 l10n: Eliminated STRING_CMD_LOGO_* 2018-01-20 14:54:27 -05:00
Paul Beckingham
5a3d5f536d l10n: Eliminated STRING_CMD_START_* 2018-01-20 14:52:26 -05:00
Paul Beckingham
5f6f61c591 l10n: Eliminated STRING_TASK_VALID_DESC 2018-01-20 14:45:38 -05:00
Paul Beckingham
cf56983b58 l10n: Eliminated STRING_COLUMN_LABEL_ID 2018-01-20 14:44:01 -05:00
Paul Beckingham
e46ca4dcab l10n: Eliminated STRING_COLUMN_LABEL_TASKS 2018-01-20 14:41:34 -05:00
Paul Beckingham
f922f6ee7e l10n: Eliminated STRING_COLUMN_BAD_FORMAT 2018-01-20 14:39:41 -05:00
Paul Beckingham
7abc96efea l10n: Eliminated STRING_COLUMN_BAD_NAME 2018-01-20 14:36:37 -05:00
Paul Beckingham
190d57ac70 l10n: Eliminated STRING_ERROR_NO_FILTER 2018-01-20 14:34:26 -05:00
Paul Beckingham
e686d198e6 l10n: Eliminated STRING_ERROR_DETAILS 2018-01-20 14:32:00 -05:00
Paul Beckingham
e2d92bb2d6 l10n: Eliminated STRING_INVALID_MOD 2018-01-20 14:30:03 -05:00
Paul Beckingham
e928117fb2 l10n: Eliminated STRING_UDA_COLLISION 2018-01-20 14:21:43 -05:00
Paul Beckingham
bf63dde8ca l10n: Eliminated STRING_LOCALIZATION_* 2018-01-20 14:19:24 -05:00
Paul Beckingham
6cf8f18196 l10n: Eliminated STRING_UDA_TYPE 2018-01-20 14:15:34 -05:00
Paul Beckingham
aad6a6d078 l10n: Eliminated STRING_CMD_COLUMNS_* 2018-01-20 14:10:45 -05:00
Paul Beckingham
6f6335f67a l10n: Eliminated STRING_HELPER_PROJECT_* 2018-01-20 14:07:07 -05:00
Paul Beckingham
28ddf8699a l10n: Eliminated STRING_ERROR_BAD_STATUS 2018-01-20 13:57:44 -05:00
Paul Beckingham
15096c473e l10n: Eliminated STRING_INFINITE_LOOP 2018-01-20 13:55:34 -05:00
Paul Beckingham
f43b51cf85 l10n: Eliminated STRING_TRIVIAL_INPUT 2018-01-20 13:52:41 -05:00
Paul Beckingham
60394aad6a l10n: Eliminated STRING_ERROR_PREFIX 2018-01-20 13:50:10 -05:00
Paul Beckingham
69bf268e42 l10n: Eliminated STRING_PARSER_* 2018-01-20 13:46:39 -05:00
Paul Beckingham
d012e5f188 l10n: Eliminated STRING_EDIT_* 2018-01-20 13:42:04 -05:00
Paul Beckingham
e27049273c l10n: Eliminated STRING_RECORD_* 2018-01-20 13:15:45 -05:00
Paul Beckingham
3b792d5432 l10n: Eliminated STRING_COLOR_UNRECOGNIZED 2018-01-20 13:10:19 -05:00
Paul Beckingham
6da0d8af95 l10n: Eliminated STRING_EDIT_TABLE_HEADER 2018-01-20 12:59:45 -05:00
Paul Beckingham
e8f1da6417 l10n: Eliminated STRING_DEPEND_* 2018-01-20 12:55:10 -05:00
Paul Beckingham
13ee52491e l10n: Eliminated STRING_CONFIG_* 2018-01-20 12:51:40 -05:00
Paul Beckingham
6b08813585 l10n: Eliminated STRING_CONFIG_DEPRECATED_COL 2018-01-20 12:49:38 -05:00
Paul Beckingham
8d302d98c5 l10n: Eliminated STRING_CONFIG_DEPRECATED_VAR 2018-01-20 12:47:27 -05:00
Paul Beckingham
3724b91dc4 l10n: Eliminated STRING_DATE_BAD_WEEKSTART 2018-01-20 12:43:05 -05:00
Paul Beckingham
d60de8c923 l10n: Eliminated STRING_DATE_INVALID_FORMAT 2018-01-20 12:41:05 -05:00
Paul Beckingham
de44d3fb97 l10n: Eliminated STRING_DATE_<month> 2018-01-20 12:38:23 -05:00
Paul Beckingham
39342632a1 l10n: Eliminated STRING_DATE_*DAY 2018-01-20 12:36:00 -05:00
Paul Beckingham
8ff2b9b77b l10n: Eliminated STRING_CMD_CONFIG_NO_CHANGE 2018-01-20 12:21:34 -05:00
Paul Beckingham
67e20058b2 l10n: Eliminated STRING_TDB2_* 2018-01-20 12:18:29 -05:00
Paul Beckingham
29f3df9810 l10n: Eliminated STRING_VIEW_TOO_SMALL 2018-01-17 21:21:44 -05:00
Paul Beckingham
6bd9c46c8c l10n: Eliminated STRING_RECUR_CREATE 2018-01-17 21:19:11 -05:00
Paul Beckingham
3e3ed5446c l10n: Eliminated STRING_TASK_VALID_RECUR 2018-01-17 21:16:20 -05:00
Paul Beckingham
def3fd35ae l10n: Eliminated STRING_CMD_EXPORT_USAGE 2018-01-17 21:12:10 -05:00
Paul Beckingham
60180531c6 l10n: Eliminated STRING_LEGACY_PRIORITY 2018-01-15 13:59:07 -05:00
Paul Beckingham
8412198138 l10n: Eliminated STRING_UTIL_CONFIRM_* 2018-01-15 13:43:34 -05:00
Paul Beckingham
1d4b9173fc l10n: Eliminated STRING_ERROR_CONFIRM_SIGINT 2018-01-15 13:39:48 -05:00
Paul Beckingham
2605cfa227 l10n: Eliminated STRING_COLUMN_LABEL_TEMPLATE 2018-01-15 13:35:38 -05:00
Paul Beckingham
5795e7f765 l10n: Eliminated STRING_DOM_UNREC 2018-01-15 13:32:32 -05:00
Paul Beckingham
cff755aba1 l10n: Eliminated STRING_EVAL_* 2018-01-15 13:28:43 -05:00
Paul Beckingham
74eb35810f l10n: Eliminated translation instructions 2018-01-15 13:11:12 -05:00
Paul Beckingham
d2f3648242 l10n: Eliminated STRING_CMD_VERSION_* 2018-01-15 13:10:52 -05:00
Paul Beckingham
2422a6bbda l10n: Eliminated STRING_HOOKS_* 2018-01-15 12:51:56 -05:00
Paul Beckingham
63a8d223e2 l10n: Eliminated STRING_TASK_INVALID_DUR 2018-01-15 12:28:52 -05:00
Paul Beckingham
367f3a5e32 l10n: Eliminated STRING_COLUMN_LABEL_PARENT 2018-01-15 12:24:57 -05:00
Paul Beckingham
1589db376c Utils: Removed l10n utility 2018-01-15 12:20:34 -05:00
Paul Beckingham
9bbc43c3f3 Docs: Added note about translations no longer being supported 2018-01-15 12:18:48 -05:00
Paul Beckingham
ce4b92e5fc l10n: Eliminated STRING_CMD_HELP_USAGE_LABEL 2018-01-15 12:16:24 -05:00
Paul Beckingham
27c7d76884 l10n: Eliminated STRING_CMD_HELP_USAGE_DESC 2018-01-15 12:14:36 -05:00
Paul Beckingham
7a14df80a8 l10n: Eliminated STRING_CMD_HELP_ALIASED 2018-01-15 12:12:53 -05:00
Paul Beckingham
ad24179ba3 l10n: Eliminated STRING_CMD_HELP_TEXT 2018-01-15 12:11:06 -05:00
Paul Beckingham
b970d7e5c9 l10n: Eliminated STRING_CMD_HELP_TEXT 2018-01-15 11:55:02 -05:00
Paul Beckingham
038d9fe8db l10n: Eliminated STRING_CONTEXT_CREATE_RC 2018-01-15 11:48:15 -05:00
Paul Beckingham
e814daacf1 l10n: Eliminated STRING_CONTEXT_DATA_OVERRIDE 2018-01-15 11:45:34 -05:00
Paul Beckingham
06f7802a29 l10n: Eliminated STRING_CONTEXT_RC_OVERRIDE 2018-01-15 11:43:44 -05:00
Paul Beckingham
8f211c1a07 l10n: Eliminated STRING_CONTEXT_NEED_RC 2018-01-15 11:06:18 -05:00
Paul Beckingham
8ca8f9eb10 l10n: Eliminated STRING_CONFIG_BAD_WRITE 2018-01-15 11:04:23 -05:00
Paul Beckingham
2e9ea52a8d l10n: Eliminated STRING_ASSUME_INFO 2018-01-15 11:01:36 -05:00
Paul Beckingham
f00884998e l10n: Eliminated STRING_DATE_SUNDAY 2018-01-15 10:59:25 -05:00
Paul Beckingham
fdd8b1ca13 l10n: Eliminated STRING_INVALID_SORT_COL 2018-01-15 10:53:48 -05:00
Paul Beckingham
193eebd852 l10n removal of STRING_COLUMN_LABEL_MASK, STRING_COLUMN_LABEL_MASK_IDX 2018-01-07 13:37:47 -05:00
Paul Beckingham
aac883241f l10n removal of STRING_UDA_NUMERIC 2018-01-07 13:10:52 -05:00
Paul Beckingham
0b790f46a1 l10n removal of STRING_UNKNOWN_ERROR 2018-01-07 12:57:21 -05:00
Paul Beckingham
6a97188084 libshared: Updated to 1fa5dcbf53a280857e35436aef6beb6a37266e33 2017-12-31 19:39:51 -05:00
Paul Beckingham
0de169bb10 Copyright 2018 2017-12-31 19:22:07 -05:00
Paul Beckingham
58ec6735dd TI-91: Timewarrior does not compile on DragonFly
- Thanks to Michael Neumann.
2017-12-10 00:20:50 -05:00
Paul Beckingham
78d910a58b Docs: Updated ChangeLog 2017-12-09 23:15:36 -05:00
Paul Beckingham
ce6e2afb57 Test: Improved C+ Core Guidelines compliance 2017-12-09 23:05:31 -05:00
Paul Beckingham
bf3ae78e9d TW-1938: Adjust behaviour of new-uuid and new-id verbosity levels
- Thanks to Paul J. Fenwick.
2017-12-09 22:52:56 -05:00
Paul Beckingham
25948e2da9 Merge branch 'new_uuid_conflict_tweaks' of pjf/task into 2.6.0 2017-12-08 15:57:04 +00:00
Paul Fenwick
cc9e2a5076 [TW-1938] Resolve conflicts between new-id and new-uuid
- new-uuid is *not* set by default
- new-uuid overrides new-id when set

The reasoning is that new-uuid is mostly used by code (eg: Python's
taskw module), whereas new-id is mostly used by humans.

By making new-uuid not set by default, calling code can set it to
receive UUIDs (preserving 2.5.x behaviour), but humans can continue to
use integer task IDs.
2017-12-04 11:36:45 -08:00
Paul Beckingham
8092e67991 TW-1930: Typo in help
- Thanks to Kai HTML.
2017-12-02 14:21:12 -05:00
Paul Beckingham
a54bcf685b TW-1935: Separate verbosity category for rc overrides
- Thanks to Paul J. Fenwick.
2017-12-02 13:06:58 -05:00
Paul Fenwick
f6dee20777 CLI2/Context: Add vim hints
No need for vim to guess indent style with these handy vim hints!
2017-12-02 12:51:35 -05:00
Paul Fenwick
1fb19671c4 CLI2,Config: Add 'override' verbosity option
This allows for 'override' messages to be silenced without requiring
footnotes be completely disabled.

The 'override' verbosity implies 'footnotes'.
2017-12-02 12:51:14 -05:00
Paul Fenwick
0d682ee7a9 Docs/CLI2: Additional dev docs for applyOverrides 2017-12-02 12:46:55 -05:00
Paul Beckingham
279c825033 TW-1936: Tweak tests to have fuller TAP compliance
- Thanks to Paul J. Fenwick.
2017-12-02 12:34:47 -05:00
Paul Fenwick
138f6ffed3 test/problems: Updated to handle TAP spec output 2017-12-02 12:22:14 -05:00
Paul Fenwick
5ec91026ed Improve TAP compliance in test suite
This allows tools like `prove` to operate on our test-suite, allowing us
to do things like run recently-failing tests first, randomising test
order, and fancier reporting options.

Changes made:

- TAP output always goes to STDOUT, never to STDERR
- Skipped tests signaled as `ok 1 # skip` as per standard
- Expected failures signaled as `not ok 1 # TODO` as per standard
- `.prove` added to .gitignore
2017-12-02 12:06:54 -05:00
Paul Beckingham
02140f1843 Docs: Removed obsolete URL 2017-10-11 21:26:01 -04:00
Paul Beckingham
d02e4f8fc9 Error: Changed (1) error format 2017-10-08 14:39:00 -04:00
Tomas Babej
00239e5b20 DEVELOPER: Update git repo url 2017-08-18 01:04:55 +02:00
Tomas Babej
255e02b7da context: Do not allow show, list or none as new context names
- Thanks to silviof.
2017-07-27 19:00:43 +02:00
Paul Beckingham
05979025d2 Recurrence: Updated 'until' handling 2017-07-22 13:30:49 +01:00
Paul Beckingham
ce012d6430 Recur: Typo 2017-07-22 13:29:26 +01:00
Paul Beckingham
cd2baebb2c Scripts: Updated URLs 2017-07-22 12:49:46 +01:00
Tomas Babej
47cfc0b28b tests: Add tests for complex and-or queries 2017-06-12 15:34:01 +02:00
Paul Beckingham
88ef997d6a Reapplying include removal without libshared update 2017-05-08 17:47:36 -04:00
Paul Beckingham
dbfe220499 Revert "TLSClient: Remove double include"
This reverts commit 2321c17d8d.
2017-05-08 17:33:44 -04:00
Tomas Babej
2321c17d8d TLSClient: Remove double include 2017-05-08 21:59:03 +02:00
Tomas Babej
e3ba077014 Update AUTHORS and ChangeLog file 2017-05-08 17:22:45 +02:00
Tomas Babej
3245d00edb TW-1910: Remove unreachable statement
- Thanks to Martin Strunz.
2017-05-08 17:20:42 +02:00
Paul Beckingham
9f0a71f4b6 Tests: Added dom tests 2017-04-30 00:00:30 -04:00
Paul Beckingham
23138db6c7 DOM: Implemented DOM::Node object 2017-04-30 00:00:14 -04:00
Paul Beckingham
2b71434cf8 DOM: Added dtor that delegate to DOM::Node 2017-04-29 23:57:42 -04:00
Paul Beckingham
b34a51710e Tests: Added tw.version DOM test 2017-04-29 11:25:12 -04:00
Paul Beckingham
f7ab2c4b2d DOM: New reference tw.version. 2017-04-29 11:24:08 -04:00
Paul Beckingham
7e4dd24d86 DOM: Fixed ::count bug 2017-04-29 11:10:57 -04:00
Paul Beckingham
fc58d1e14d Tests: Added first DOM test 2017-04-29 11:10:43 -04:00
Paul Beckingham
c8318ce7cb Tests: Renamed dom.t to make way for new DOM object tests 2017-04-29 10:56:22 -04:00
Paul Beckingham
cd87eab6af DOM: Added framework 2017-04-29 10:54:39 -04:00
Paul Beckingham
ae5bc8e239 DOM: Stubbed DOM tree 2017-04-28 12:42:19 -04:00
Paul Beckingham
0d2b2df498 Recurrence: Debug msg 2017-04-10 19:51:53 -04:00
Paul Beckingham
803c49b6c4 Recurrence: Debug msg 2017-04-10 19:41:22 -04:00
Paul Beckingham
9fe77ab5b5 Recurrence: Debug msg 2017-04-10 19:27:35 -04:00
Paul Beckingham
415d964230 Recurrence: Debug msg 2017-04-10 19:20:06 -04:00
Paul Beckingham
aa6b5dbfba Recurrence: Added stubbed generateAllDueDates 2017-04-10 19:08:07 -04:00
Paul Beckingham
e62b395534 Recurrence: Stubbed due date generation 2017-04-10 18:54:45 -04:00
Paul Beckingham
0e599a51a0 Task: Added reminder to simplify validation 2017-04-10 17:23:11 -04:00
Paul Beckingham
3bf1c50131 Docs: Added to AUTHORS file 2017-04-09 21:00:44 -04:00
Øyvind A. Holm
984e4b20f8 Docs: Typo fix in task.1.in 2017-04-09 21:00:01 -04:00
Paul Beckingham
93efc4b6f9 Docs: Updated platform list 2017-04-09 16:47:54 -04:00
Paul Beckingham
a4fdb988ff Recurrence: Added list of upgrade steps 2017-04-09 16:36:14 -04:00
Paul Beckingham
97b038ce29 Recurrence: Broke out handleUntil as a separate function
- This means until porocesing is no longer controlled by rc.recurrence, which
  was never intended.
2017-04-06 00:29:20 -04:00
Paul Beckingham
e991004c43 Recurrence: Fixed broken build 2017-04-06 00:01:57 -04:00
Paul Beckingham
3a57ca26f8 Merge branch '2.6.0' of tbabej/task into 2.6.0 2017-04-03 00:29:56 +00:00
Tomas Babej
dd5e3d7329 INSTALL: Use https link for cmake.org 2017-04-03 00:25:06 +00:00
Tomas Babej
d162f2ac78 LICENSE: Use https link instead of http 2017-04-03 01:46:22 +02:00
Paul Beckingham
54ea38b663 Recurrence: Added notes 2017-04-02 14:04:44 -04:00
Paul Beckingham
1f6ea2a8ad Recurrence: Stubbed Task upgrade function 2017-04-02 14:03:16 -04:00
Paul Beckingham
5ef2a256a6 Recurrence: Stubbed single due date function 2017-04-02 14:02:40 -04:00
Paul Beckingham
179e97c748 libshared: Updated URL 2017-04-01 23:34:06 -04:00
Paul Beckingham
45eb2cffbb Recurrence: Implemented reduction to single-task problem 2017-04-01 14:27:08 -04:00
Paul Beckingham
2810c70223 Recurrence: Stubbed synthesizeTasks 2017-04-01 14:25:56 -04:00
Paul Beckingham
0973bf0dda Task: Typo in attribute name 2017-04-01 13:26:31 -04:00
Paul Beckingham
b40cc89235 Recurrence: Added stub for handleRecurrence2 2017-03-31 08:38:35 -04:00
Paul Beckingham
f6f79d28ee Recurrence: Relocate nag function out of the way 2017-03-31 08:34:25 -04:00
Paul Beckingham
704dfd462e TW-1903: grammar error -- There are 1 local changes.
- Thanks to Eric Hymowitz.
2017-03-30 23:21:14 -04:00
Paul Beckingham
60bccaae2b Task: CHILD, INSTANCE, PARENT and TEMPLATE are now forward/backward compatible 2017-03-23 22:51:11 -04:00
Paul Beckingham
1858de5f51 CmdHistory: Corrected date label justification 2017-03-23 22:49:50 -04:00
Paul Beckingham
8113eae006 Tests: Added WAITING tests 2017-03-23 22:49:07 -04:00
Paul Beckingham
92ededda71 Tests: Added UNTIL tests 2017-03-23 22:48:58 -04:00
Paul Beckingham
322ff9e653 Tests: Added INSTANCE tests 2017-03-23 22:48:39 -04:00
Paul Beckingham
b0636bda2f Tests: Added TEMPLATE tests 2017-03-23 22:48:00 -04:00
Paul Beckingham
0de91e68c7 Tests: Added SCHEDULED tests 2017-03-23 22:47:40 -04:00
Paul Beckingham
79513ea17f Tests: Added READY tests 2017-03-23 22:47:16 -04:00
Paul Beckingham
d4643982ff Tests: Made history tests independent of TZ 2017-03-23 08:26:49 -04:00
Paul Beckingham
0c3ca1862d Tests: Fixed bad regexes 2017-03-23 01:53:05 -04:00
Paul Beckingham
640a90e473 Tests: Fixed bad duplicate class/method name 2017-03-23 01:52:43 -04:00
Paul Beckingham
4c2fa33a08 CmdHistory: Formatting 2017-03-23 01:51:41 -04:00
Paul Beckingham
7c2c9fc5d0 CmdHistory: Fixed bug where all strategies were rendered in the wrong width 2017-03-23 01:51:22 -04:00
Paul Beckingham
bc7154c9cd Tests: Fixed spaing issue in history test 2017-03-23 01:10:18 -04:00
Paul Beckingham
2a12aabcf1 CmdHistory: Set no-wrap for ghistory output 2017-03-23 01:06:29 -04:00
Paul Beckingham
66c11f635e CmdHistory: Removed table header coloring which is handled elsewhere 2017-03-23 01:05:56 -04:00
Paul Beckingham
22da6c2e42 CmdHistory: Formatting 2017-03-23 01:05:14 -04:00
Paul Beckingham
7dc51a266f CmdHistory: Formatting 2017-03-23 01:04:23 -04:00
Paul Beckingham
d08f62a7d9 CmdSummary: Set no-wrap for progress bar column 2017-03-23 01:03:38 -04:00
Paul Beckingham
bfbe20352e libshared: Updated to f1a3cd6bfabfb083fe3c26f580a15c0d60a92ee9 2017-03-23 01:03:09 -04:00
Paul Beckingham
47715322dc util: Removed unused strippedLength() function 2017-03-23 01:02:29 -04:00
Paul Beckingham
a9e65e7e61 Tests: Removed strippedLength() tests 2017-03-23 01:02:06 -04:00
Tomas Babej
c20883af15 Remove unused auxiliary script task_functions.sh
The definitions contained in this file were used only by the already
removed 'context' bash script, see: fc6507803b
2017-03-22 02:56:26 +01:00
Paul Beckingham
f74c1c9e9a calc: Uses same configuration setting for Datetime/Duration as task 2017-03-21 08:43:45 -04:00
Paul Beckingham
60220546c1 Tests: Removed taskd group features from test framework 2017-03-20 22:23:08 -04:00
Paul Beckingham
97612b892a CmdUDAs: Table headers consistent 2017-03-20 09:12:49 -04:00
Paul Beckingham
0cf0f1ce3c CmdTimesheet: Table headers consistent 2017-03-20 09:12:33 -04:00
Paul Beckingham
c26d7fb465 CmdTags: Table headers consistent 2017-03-20 09:12:21 -04:00
Paul Beckingham
e9688c7593 CmdSummary: Table headers consistent 2017-03-20 09:12:09 -04:00
Paul Beckingham
f13f0e8def CmdStats: Table headers consistent 2017-03-20 09:11:56 -04:00
Paul Beckingham
38b0c6c4f1 CmdShow: Table headers consistent 2017-03-20 09:11:40 -04:00
Paul Beckingham
c0f33ed5e7 CmdReports: Table headers consistent 2017-03-20 09:11:26 -04:00
Paul Beckingham
596cce73b7 CmdProjects: Table headers consistent 2017-03-20 09:11:12 -04:00
Paul Beckingham
043884fc9b CmdInfo: Table headers consistent 2017-03-20 09:11:00 -04:00
Paul Beckingham
c8fb2f1ddd CmdHistory: Formatting 2017-03-20 09:10:42 -04:00
Paul Beckingham
aa5d1b4192 CmdHistory: Table headers consistent 2017-03-20 09:10:20 -04:00
Paul Beckingham
73040f2679 CmdContext: Table headers consistent 2017-03-20 09:09:46 -04:00
Paul Beckingham
120c50f75e CmdCommands: Table headers consistent 2017-03-20 09:09:30 -04:00
Paul Beckingham
61ee94a0e4 CmdColumns: Table headers consistent 2017-03-20 09:09:06 -04:00
Paul Beckingham
2a7d6eb26a CmdCalendar: Table headers consistent 2017-03-20 09:08:45 -04:00
Paul Beckingham
a1a9cb7786 TDB2: Table headers consistent 2017-03-20 09:06:59 -04:00
Paul Beckingham
ac93381cd0 util: Added helper function to properly manage table header color/underline 2017-03-20 09:06:16 -04:00
Paul Beckingham
410bd2a22a Tests: Disabled ambiguous test (matching libshared) 2017-03-20 09:02:37 -04:00
Paul Beckingham
218b43ecfa CmdInfo: Fixed header underline problem 2017-03-20 08:29:51 -04:00
Paul Beckingham
4f6c44e5c1 Tests: Syntax error in Python that went unnoticed 2017-03-19 17:27:40 -04:00
Paul Beckingham
6e7bd12094 libshared: Updated to 9a05fb5040008aa5f2c95e7ad060aa249367fe92 2017-03-19 17:16:52 -04:00
Paul Beckingham
b2810aa0c2 Tests: Lexer tests now stable with Datetime/duration features disabled 2017-03-19 10:05:25 -04:00
Paul Beckingham
e350142b19 Context: Selects Datetime/Duration features to match expectations 2017-03-19 10:00:25 -04:00
Paul Beckingham
ddbf352962 libshared: Updated to f2ac7ef9cc9f33f634f9aacd65ca9c1f828f50e3 2017-03-19 09:59:50 -04:00
Paul Beckingham
0a137a852e Cleanup: Formatting 2017-03-19 09:59:20 -04:00
Paul Beckingham
f5ac502f35 libshared: Updated to b1686ad3e14c766faa3bdec3d5afe7152ace5e71 2017-03-15 13:04:26 -04:00
Paul Beckingham
77e0dabb48 libshared: Updated to 6f0900d86743405f24d52f9eafe6c8e941d40ec3 2017-03-15 12:00:43 -04:00
Paul Beckingham
1ece5ccfb4 libshared: Updated to 320f65961505019d276e5b36316bd11bdd0025b1 2017-03-08 08:48:15 -05:00
Paul Beckingham
386226f404 Task: Uses named dates for YEAR virtual tag 2017-03-08 08:34:25 -05:00
Paul Beckingham
cb0873d14b Task: Uses named dates for QUARTER virtual tag 2017-03-08 08:34:15 -05:00
Paul Beckingham
ba4113d567 Task: Uses named dates for MONTH virtual tag 2017-03-08 08:33:55 -05:00
Paul Beckingham
768767866f Task: Uses named dates to WEEK virtual tag 2017-03-08 08:33:34 -05:00
Paul Beckingham
bae64cd95c libshared: Updated to cbe3fd84a8950a42ed271a0dd8e7c4e1564b1333 2017-03-08 08:26:32 -05:00
Paul Beckingham
c30a69a69e libshared: Updated to 5bd493494fe2b1f0ab208e1edb4854316eeb5423 2017-03-06 23:58:16 -05:00
Paul Beckingham
111e36ed8c Tests: Named date tests migrated to libshared 2017-03-05 15:03:14 -05:00
Paul Beckingham
18aeeca103 CMake: Eliminated Dates.cpp 2017-03-05 09:46:44 -05:00
Paul Beckingham
982ae80a82 Task: Eliminated namedDates 2017-03-05 09:46:21 -05:00
Paul Beckingham
b65550e620 Tests: Eliminated old-style EOD math 2017-03-05 09:35:34 -05:00
Paul Beckingham
36e67a0c71 Tests: Corrected lexer data type for newly-supported date types 2017-03-05 09:35:13 -05:00
Paul Beckingham
9b0b314618 Tests: Eliminated namedDates 2017-03-05 09:34:30 -05:00
Paul Beckingham
4046886e2a CmdCalc: Eliminated namedDates 2017-03-05 09:31:50 -05:00
Paul Beckingham
4cd9ebfdf4 ColTypeString: Eliminated namedDates 2017-03-05 09:31:29 -05:00
Paul Beckingham
2b205302c9 ColTypeNumeric: Eliminated namedDates 2017-03-05 09:31:10 -05:00
Paul Beckingham
49f8777d05 ColTypeDuration: Eliminated namedDates 2017-03-05 09:30:51 -05:00
Paul Beckingham
93d2594949 ColTypeDate: Eliminated namedDates 2017-03-05 09:30:31 -05:00
Paul Beckingham
fbc461818e ColTags: Eliminated namedDates 2017-03-05 09:30:06 -05:00
Paul Beckingham
925700dbf8 ColRecur: Eliminated namedDates 2017-03-05 09:29:50 -05:00
Paul Beckingham
8e7350ac27 ColProject: Eliminated namedDates 2017-03-05 09:29:28 -05:00
Paul Beckingham
2b8b31b94b calc: Eliminated namedDates 2017-03-05 09:29:13 -05:00
Paul Beckingham
5f4a62750e Filter: Eliminated namedDates 2017-03-05 09:28:57 -05:00
Paul Beckingham
d0ec6b27aa Nibbler: Elimnated, migrated to Pig 2017-03-04 22:21:49 -05:00
Paul Beckingham
2912df58fb Tests: Removed unused Nibbler tests 2017-03-04 22:21:07 -05:00
Paul Beckingham
68adade5b0 ISO8601: Migrated all to Datetime/Duration 2017-03-04 22:18:04 -05:00
Paul Beckingham
3a7e3b8836 Tests: Eliminated ISO8601d tests 2017-03-04 22:16:36 -05:00
Paul Beckingham
7647a089d0 Tests: Eliminated ISO8601p tests 2017-03-04 21:49:38 -05:00
Paul Beckingham
cea0732d46 Context: Eliminated ISO8601 2017-03-04 21:46:05 -05:00
Paul Beckingham
434e95f560 Variant: Migraded from ISO8601d to Datetime 2017-03-04 21:44:07 -05:00
Paul Beckingham
c0d5d5974e Lexer: Migrated from ISO8601p to Duration 2017-03-04 21:43:43 -05:00
Paul Beckingham
769d4a2ebe Lexer: Migrated from ISO8601d to Datetime 2017-03-04 20:53:16 -05:00
Paul Beckingham
5450fae7c3 libshared: Updated to 0dbe6c2818d4dc99f5d0089d6afb1559ed05ebf7 2017-03-04 20:50:39 -05:00
Paul Beckingham
1fd18dd50e dependency: CPP Core Guidlines compliance 2017-03-02 20:56:19 -05:00
Paul Beckingham
b45b8c1c05 sort: Greater use of auto 2017-03-02 20:30:02 -05:00
Paul Beckingham
0bfac78f1e CmdEdit: Properly captures an unmodified errno 2017-03-02 18:29:42 -05:00
Paul Beckingham
5716508694 util: Removed unused header 2017-03-02 18:28:35 -05:00
Paul Beckingham
c9defab256 Docs: Typo 2017-02-28 18:52:18 -05:00
Paul Beckingham
311a9538d8 Docs: Typo 2017-02-28 18:51:46 -05:00
Paul Beckingham
2231adb04c Docs: Typo 2017-02-28 18:20:38 -05:00
Paul Beckingham
95d91e8f62 Docs: Typo 2017-02-28 18:20:31 -05:00
Paul Beckingham
e18f18a4ff Docs: Typo 2017-02-28 18:20:01 -05:00
Paul Beckingham
5c216ba4c1 Docs: Typo 2017-02-28 18:19:48 -05:00
Paul Beckingham
3d96a62a0c Docs: Updated build parallelism 2017-02-28 18:15:24 -05:00
Paul Beckingham
48f9072539 Docs: Updated requirements 2017-02-28 18:14:46 -05:00
Paul Beckingham
7b6e24a164 Task: Recurring tasks get rtype:periodic by default 2017-02-28 00:11:58 -05:00
Paul Beckingham
4a5dfad74d Feedback: Sync message now indicates how many local changes will be synced 2017-02-28 00:10:15 -05:00
Paul Beckingham
46ef672317 Lexer: Typo 2017-02-27 08:41:03 -05:00
Paul Beckingham
2cca52bc4c Variant: Reduced dependence on ISO8601 2017-02-27 08:28:45 -05:00
Paul Beckingham
28030cfc39 DOM: tw.syncneeded should be 0/1, not false/true 2017-02-27 07:52:40 -05:00
Paul Beckingham
06dc1f6c42 DOM: Partial DOM match is no longer an error 2017-02-27 07:46:54 -05:00
Paul Beckingham
243067e2ae Docs: Updated dev file 2017-02-26 23:41:39 -05:00
Paul Beckingham
3535e785d8 Config: Eliminated 2017-02-26 17:37:21 -05:00
Paul Beckingham
8cb1d8743f Docs: Removed references to $TERM, which is irrelevant anyway 2017-02-26 11:08:15 -05:00
Paul Beckingham
0d3e92ed5d Context: Added local config load timing 2017-02-26 10:47:17 -05:00
Paul Beckingham
dd4fef6794 Config: Migrated to libshared Configuration 2017-02-26 10:46:51 -05:00
Paul Beckingham
a31434fd48 Config: Separated configuration from defaults 2017-02-26 10:22:39 -05:00
Paul Beckingham
9bc8643ce5 Docs: Updated man page for DOM ref changes 2017-02-25 23:40:21 -05:00
Paul Beckingham
29c18c2c64 Config: Removed unused ::clear method
- This was used back when shadow file support needed to reset CLI parsing.
2017-02-25 22:13:16 -05:00
Paul Beckingham
5e3845dcb6 libshared: Updated to d009b1de631c576510841593c85b257e96371b40 2017-02-25 20:26:41 -05:00
Paul Beckingham
dce400073e Docs: Updated test platform list 2017-02-25 19:23:54 -05:00
Paul Beckingham
098a3b603f Tests: Added new DOM reference tests 2017-02-25 19:23:43 -05:00
Paul Beckingham
a92f596bc0 DOM: New references: tw.syncneeded, tw.program, tw.args, tw.width, tw.height
- And deprecating context.program, context.args, context.width, context.height
2017-02-25 19:21:24 -05:00
Paul Beckingham
545a764450 DOM: Typo 2017-02-20 09:52:41 -05:00
Paul Beckingham
c77908e6b4 Docs: Typo 2017-02-19 19:05:58 -05:00
Paul Beckingham
057dc6f85b Docs: Typo 2017-02-19 19:05:52 -05:00
Paul Beckingham
acf7cd42f4 Docs: Typo 2017-02-19 19:05:44 -05:00
Paul Beckingham
cf14b9ce37 Docs: Typo 2017-02-19 19:05:37 -05:00
Paul Beckingham
a07deac111 Docs: Typo 2017-02-19 19:05:30 -05:00
Paul Beckingham
4914e89c92 Docs: Typo 2017-02-19 19:05:20 -05:00
Paul Beckingham
3c1ffc60aa Docs: Typo 2017-02-19 19:05:08 -05:00
Paul Beckingham
50a5a58e22 Docs: Typo 2017-02-19 19:05:02 -05:00
Paul Beckingham
86cc86d9cc Docs: Typo 2017-02-19 19:00:29 -05:00
Paul Beckingham
dadc83684d Docs: Typo 2017-02-19 19:00:14 -05:00
Paul Beckingham
bea4214b57 Docs: Typo 2017-02-19 18:56:35 -05:00
Paul Beckingham
0faac7b618 Docs: Update for testing flod2 2017-02-19 18:11:23 -05:00
Paul Beckingham
1f09aba760 TW-1885: Task Sync does not send TLS SNI headers
- Thanks to Dan Callahan.
2017-02-18 17:23:08 -05:00
Tomas Babej
282c59a394 TLSClient: Improve diagnostics
Task now correctly distinguishes the situation where CA file is present,
but not valid in some sense (empty file, not valid PEM, ..). In this
case the gnutls_certificate_set_x509_trust_file returns 0, as the number
of certificates detected in the file.

The method returns negative numbers for other errors, such as the CA
file itself missing.

Also clarify that when validating client cert/key pair, each of them can
be the source of the problem, not only the cliet certificate file.
2017-02-18 20:43:21 +01:00
Tomas Babej
66328f97b5 TLSClient: Respect 'allow all' and 'ignore hostname' trust settings 2017-02-18 20:21:42 +01:00
Tomas Babej
a4a704fd37 style: Remove doubled spaces in the error message 2017-02-18 20:20:37 +01:00
Tomas Babej
8c1d625a54 TLSClient: Free error data after extracting error message 2017-02-18 20:19:03 +01:00
Tomas Babej
60139d24f8 docs: Update the build toolchain requirements 2017-02-15 14:40:14 +01:00
Tomas Babej
b59f36a614 build: Fix linking problem on non-OS-X platforms 2017-02-14 15:18:44 +01:00
Federico Hernandez
d59da51088 Mentioned cmake handling of submodule in DEVELOPER file 2017-02-13 00:54:59 +01:00
Federico Hernandez
bbd53f6556 Mentioned cmake handling of submodule in DEVELOPER file 2017-02-13 00:15:10 +01:00
Federico Hernandez
de4cf7edda Handling of git submodule in cmake 2017-02-12 22:18:26 +01:00
Paul Beckingham
39f8e7528e TLS: Now uses SNI 2017-02-11 13:51:02 -05:00
Paul Beckingham
b38fead19f libshared: Updated to 6aa2b315c476bac3fdb7bf2bc259af55eee89f83 2017-02-11 13:50:25 -05:00
Paul Beckingham
e6601e1a28 Docs: Updated docs with new history/ghistory commands. 2017-02-09 19:44:44 -05:00
Lukas Barth
d1bdac2bef Add localized strings 2017-02-09 19:15:00 -05:00
Lukas Barth
cd90b8a06d Add unit tests for new history commands 2017-02-09 19:14:58 -05:00
Lukas Barth
0c1cfe1492 Update manpage for history commands 2017-02-09 19:14:56 -05:00
Lukas Barth
615336f3a8 Adding weekly/daily history commands 2017-02-09 19:14:53 -05:00
Paul Beckingham
9e3c8b3956 libshared: Updated to 09ddc067c8db2d19472283d037ff38d76d63eff8 2017-02-09 10:03:47 -05:00
Paul Beckingham
440cfb009e CmdTimesheet: Rewrote the command
- Updated the 'timesheet' command with a more compact report that accepts a
  filter, and has a default filter showing the last four weeks of completed and
  started tasks.
2017-02-09 08:19:30 -05:00
Paul Beckingham
4c20ff04c2 Tests: Improved documenation in template 2017-02-09 02:49:39 +01:00
Paul Beckingham
c79ed7cf4c TLSClient: Removed test code 2017-02-09 01:47:54 +01:00
Paul Beckingham
d8227a8439 TLSClient: Typo 2017-02-09 01:45:05 +01:00
Paul Beckingham
8f424c9eda Doc: Test change 2017-02-05 22:29:03 +01:00
Paul Beckingham
82bc202a36 calc: Fixed Dirk 2017-02-05 14:34:24 +01:00
Paul Beckingham
cb496b6002 CmdCalc: 'auto infix{true}' doesn't compile 2017-02-05 14:28:40 +01:00
Paul Beckingham
78112c150c Doc: Test change 2017-02-05 13:58:53 +01:00
Paul Beckingham
0f4e4b2926 Doc: Test change 2017-02-05 13:38:05 +01:00
Paul Beckingham
b81cd05b7c Doc: Test change 2017-02-05 12:20:40 +01:00
Paul Beckingham
b65b2ee4f0 Doc: Test change 2017-02-05 12:00:06 +01:00
Lukas Barth
7be87586c5 Move strategies to cpp file 2017-01-30 16:59:15 -05:00
Paul Beckingham
c8cd93d630 CmdModify: Code cleanup 2017-01-29 13:04:51 -05:00
Paul Beckingham
a95dddd00c CmdInfo: Code cleanup 2017-01-29 12:22:35 -05:00
Paul Beckingham
afd8b94c91 CmdImport: Code cleanup 2017-01-29 12:17:44 -05:00
Paul Beckingham
31a85478f5 CmdIDs: Code cleanup 2017-01-29 12:15:38 -05:00
Paul Beckingham
d8a1120ff2 CmdHistory: Code cleanup 2017-01-29 12:13:30 -05:00
Paul Beckingham
25dbbfd667 CmdHelp: Code cleanup 2017-01-29 11:31:32 -05:00
Paul Beckingham
0122b72118 CmdEdit: Code cleanup 2017-01-29 00:26:43 -05:00
Paul Beckingham
5bbb232f35 CmdDuplicate: Code cleanup 2017-01-28 21:35:12 -05:00
Paul Beckingham
3c8dc72b3d CmdDone: Code cleanup 2017-01-28 21:35:02 -05:00
Paul Beckingham
d6549fca78 CmdDiagnostics: Code cleanup 2017-01-28 21:34:51 -05:00
Paul Beckingham
c1963dca0e CmdDenotate: Code cleanup 2017-01-28 21:34:39 -05:00
Paul Beckingham
01d42acb28 CmdDelete: Code cleanup 2017-01-28 21:34:27 -05:00
Paul Beckingham
31b1e5e462 CmdCustom: Code cleanup 2017-01-28 20:53:46 -05:00
Paul Beckingham
984b20f6de CmdCount: Code cleanup 2017-01-28 20:50:12 -05:00
Paul Beckingham
8e6fd5d979 CmdConfig: Code cleanup 2017-01-28 20:48:14 -05:00
Paul Beckingham
bd1661c2b0 CmdCommands: Code cleanup 2017-01-28 20:35:50 -05:00
Paul Beckingham
cf57346134 CmdCalendar: Code cleanup 2017-01-28 20:31:52 -05:00
Paul Beckingham
ec2bec58b7 CmdColumns: Code cleanup 2017-01-28 19:19:42 -05:00
Paul Beckingham
f38446138c CmdColor: Code cleanup 2017-01-28 17:53:05 -05:00
Paul Beckingham
d3a037231f CmdCalc: Code cleanup 2017-01-28 17:52:04 -05:00
Paul Beckingham
651c39c881 CmdBurndown: Code cleanup 2017-01-28 17:50:51 -05:00
Paul Beckingham
c646d7c9d2 CmdAttributes: Code cleanup 2017-01-28 17:49:32 -05:00
Paul Beckingham
e207cc9eab CmdAppend: Code cleanup 2017-01-28 17:49:16 -05:00
Paul Beckingham
e5646726c1 CmdAnnotate: Code cleanup 2017-01-28 17:38:02 -05:00
Paul Beckingham
82cd74906b CmdUnique: Code cleanup 2017-01-28 17:08:07 -05:00
Paul Beckingham
670a215743 CmdAliases: Code cleanup 2017-01-28 16:44:55 -05:00
Paul Beckingham
1c1d9428c5 CmdLogo: Code cleanup 2017-01-28 16:22:43 -05:00
Paul Beckingham
00a4cbf906 CmdHistory: Code Cleanup
- Fixed formatting inconsistencies.
- Added Lukas to AUTHORS.
2017-01-27 17:33:20 -05:00
Lukas Barth
91b73270c8 Also refactor ghistory 2017-01-27 14:24:43 -05:00
Lukas Barth
796d5f9629 Refactor history.monthly and history.annual 2017-01-27 14:24:40 -05:00
Paul Beckingham
19c18b04aa recur: Code cleanup 2017-01-26 19:56:13 -05:00
Paul Beckingham
2da0656b5e recur: Code cleanup 2017-01-26 19:56:07 -05:00
Paul Beckingham
81e3d3bb42 recur: Code cleanup 2017-01-26 19:55:59 -05:00
Paul Beckingham
e2633a2d76 recur: Code cleanup 2017-01-26 19:55:51 -05:00
Paul Beckingham
223ca89d73 recur: Code cleanup 2017-01-26 19:55:43 -05:00
Paul Beckingham
5fd6f716a6 recur: Code cleanup 2017-01-26 19:55:34 -05:00
Paul Beckingham
f7d4ec0b79 main: Code cleanup 2017-01-26 19:54:51 -05:00
Paul Beckingham
a364acf726 legacy: Code cleanup 2017-01-26 19:45:31 -05:00
Paul Beckingham
4da1785a1e Calc: Code cleanup 2017-01-26 18:29:02 -05:00
Paul Beckingham
23dacc7bf8 Calc: Code cleanup 2017-01-26 18:28:51 -05:00
Paul Beckingham
f13bff8dfd Calc: Code cleanup 2017-01-26 18:28:31 -05:00
Paul Beckingham
7dfed2fec9 Context: Code cleanup 2017-01-26 17:30:39 -05:00
Paul Beckingham
1ebe434ea7 Context: Code cleanup 2017-01-26 17:30:28 -05:00
Paul Beckingham
7fddfd0ea3 Context: Code cleanup 2017-01-26 17:25:57 -05:00
Paul Beckingham
8cd3dc7d6b Context: Code cleanup 2017-01-26 17:25:24 -05:00
Paul Beckingham
adbefa15a7 Context: Code cleanup 2017-01-26 17:25:05 -05:00
Paul Beckingham
ee28e9940c Context: Code cleanup 2017-01-26 17:24:11 -05:00
Paul Beckingham
0b44862300 Dependency: Code cleanup 2017-01-26 17:14:14 -05:00
Paul Beckingham
651f2d9045 Dependency: Code cleanup 2017-01-26 17:01:12 -05:00
Paul Beckingham
62b5270541 Themes: Updated readme 2017-01-26 16:59:00 -05:00
Paul Beckingham
6f232cdbbf Docs: Updated man page 2017-01-26 00:12:55 -05:00
Paul Beckingham
5b0c59023b Docs: Updated exposition 2017-01-25 22:49:22 -05:00
Paul Beckingham
7e09dd9457 Color: Now uses libshared 2017-01-25 22:26:33 -05:00
Paul Beckingham
4ab083fd94 Docs: Updated compiler version 2017-01-25 17:45:03 -05:00
Paul Beckingham
abee90f9e0 Docs: Removed untested platform 2017-01-25 17:30:32 -05:00
Paul Beckingham
8faadd8199 Variant: Removed uneeded header 2017-01-25 16:54:39 -05:00
Paul Beckingham
7f5d44a675 Variant: Relocate strings 2017-01-25 16:10:57 -05:00
Paul Beckingham
e17ee31975 PKI: Updated test_client 2017-01-24 20:15:47 -05:00
Paul Beckingham
55ec3020ad PKI: Updated CRL 2017-01-24 20:12:46 -05:00
Paul Beckingham
57ba3f1541 PKI: Updated server 2017-01-24 20:04:24 -05:00
Paul Beckingham
452dc52340 PKI: Updated client 2017-01-24 19:58:40 -05:00
Paul Beckingham
72c95bbd2b PKI: Updated CA 2017-01-24 19:55:01 -05:00
Paul Beckingham
ae25bd9f2c TW-1869 segmentation fault (on unusual installation)
- Thanks to Eric Hymowitz.
2017-01-24 19:13:59 -05:00
Paul Beckingham
12486c16cc TW-1877: task done, task edit, task is now pending
- Thanks to Eric Hymowitz.
2017-01-16 20:48:45 -05:00
Paul Beckingham
f543182626 Docs: Updated NEWS 2017-01-16 20:32:40 -05:00
Paul Beckingham
d1debebde8 TW-1881: Missing last character(s) in Description field
- Thanks to Hubert Toullec.
2017-01-16 20:29:51 -05:00
Paul Beckingham
eb935d895b TW-1881: default.scheduled seems not to work
- Thanks to Onion.
2017-01-16 20:25:58 -05:00
Paul Beckingham
1b40c802c2 TW-1861: Truncated description when adding annotation
- Thanks to eezewaek.
2017-01-16 20:05:08 -05:00
Paul Beckingham
a154a0840f TW-1823: Incorrect unicode text wrapping / justifying.
- Thanks to Sergey Trofimov.
2017-01-16 16:06:49 -05:00
Paul Beckingham
5206b4a84b TW-1827: Extract annotations from a task
- Thanks to Ryan.
2017-01-16 16:00:16 -05:00
Paul Beckingham
fdd55bc422 Tests: Added debug info, which makes it look like TW-1837 it working 2017-01-16 15:29:11 -05:00
Paul Beckingham
570152d67b Tests: Added TW-1837 test 2017-01-16 15:20:50 -05:00
Paul Beckingham
44dc19e21b TW-1667: hooks: upon failure indicate which hook failed
- Thanks to Daniel Shahaf.
2017-01-16 13:14:08 -05:00
Paul Beckingham
098eef099a TW-1572: Alternative approach to urgency inheritance
- Thanks to Jens Erat, Wim Schuermann.
2017-01-16 12:33:18 -05:00
Paul Beckingham
1e6b30bbc9 TW-213: Align countdown column on boundary between number and text.
- Thanks to Eric Fluger.
2017-01-16 12:05:59 -05:00
Paul Beckingham
77f5d9fe40 libshared: Updated to 2daeeb7e6e0716ce42f7a3d0e4400aee71531d6e 2017-01-16 12:03:31 -05:00
Paul Beckingham
4bdb2285c7 Docs: Updated NEWS 2017-01-15 20:11:56 -05:00
Antonio Huete Jimenez
7c0375e506 task: Fix build in SunOS-like environments.
Tested in:
 - OpenIndiana 2816291
 - OmniOS bed3013
 - SmartOS 20161129T003638Z
2017-01-15 20:02:31 -05:00
Paul Beckingham
67e0319d36 Docs: Added Antonion to AUTHORS 2017-01-14 11:51:53 -05:00
Antonio Huete Jimenez
92af246f3a Add missing cast to double 2017-01-14 11:49:19 -05:00
Paul Beckingham
0432b9090a TLS: Aligned source with Taskserver 2017-01-10 22:14:51 -05:00
Tomas Babej
16b46e3134 Revert "test our new bitbucket server"
This reverts commit da07f34e01.

Not every joke is a good one.
- Thanks to Tomas Babej
2017-01-10 04:12:26 +01:00
Paul Beckingham
e141131080 Merge pull request #15 in TM/task from ~TBABEJ/task:2.6.0 to 2.6.0
* commit 'da07f34e01d2407b2df309d9cf3feef86b58a44a':
  test our new bitbucket server
2017-01-09 22:41:17 +00:00
Tomas Babej
da07f34e01 test our new bitbucket server 2017-01-09 20:07:04 +01:00
Paul Beckingham
dc5d0f3bd0 CmdDiagnostics: Uses libshared cppCompliance call 2017-01-08 14:07:18 -05:00
Paul Beckingham
986a632901 libshared: Updated to bfb0e90e0c94918b86dd16d8b0e05a74bab8fb75 2017-01-08 14:06:54 -05:00
Paul Beckingham
246c3601be Tests: Combined two almost identical tests into one 2017-01-08 11:53:05 -05:00
Paul Beckingham
ec1323d9ee util: Migrated osName to libshared 2017-01-08 11:52:04 -05:00
Paul Beckingham
b65be6655b libshared: Updated to aff911bd080a05e5e12a240e13adb27f435b5bb2 2017-01-08 11:50:30 -05:00
Tomas Babej
ba03a956d1 docs: Add missing submodule init step to the DEVELOPER file 2017-01-07 17:01:43 -05:00
Paul Beckingham
4e7576cb79 Merge branch 'recurrence' into 2.6.0 2017-01-07 12:29:11 -05:00
Paul Beckingham
fd4ca47581 CmdInfo: Added TEMPLATE and INSTANCE virtual tags 2017-01-07 12:04:13 -05:00
Paul Beckingham
9939b7ea35 CmdTags: Added TEMPLATE and INSTANCE virtual tags 2017-01-07 12:02:03 -05:00
Paul Beckingham
f12a4d7cd6 Task: Added TEMPLATE and INSTANCE virtual tags 2017-01-07 12:00:53 -05:00
Paul Beckingham
b266dc3f2d Docs: Added TEMPLATE and INSTANCE virtual tag descriptions 2017-01-07 11:49:09 -05:00
Paul Beckingham
8049c8ba99 feddback: Added TEMPLATE and INSTANCE virtual tags 2017-01-07 11:46:35 -05:00
Paul Beckingham
09562c8fac Columns: Removed redundant format checking 2017-01-07 11:10:03 -05:00
Paul Beckingham
ebd6273c86 Columns: Attribute objects properly delegate to Column::setStyle to validate formats 2017-01-07 11:04:08 -05:00
Paul Beckingham
e871976bb9 Columns: Consistency 2017-01-07 10:46:40 -05:00
Paul Beckingham
a50e65a134 Copyright update 2017-01-01 12:30:04 -05:00
Paul Beckingham
b0a4a409a6 Task: Improved method signature 2016-12-31 16:33:39 -05:00
Paul Beckingham
245ed39b78 Task: Improved method signature 2016-12-31 16:15:24 -05:00
Paul Beckingham
5193f7d03e Task: Improved method signature 2016-12-31 15:55:06 -05:00
Paul Beckingham
cfc3e098c1 Task: Improved method signature 2016-12-31 15:44:13 -05:00
Paul Beckingham
c31e0b106d Task: Renamed ::getUDAOrphans to ::getUDAOrphanUUIDs 2016-12-31 12:27:28 -05:00
Paul Beckingham
40c6623274 ColString: Removed obsolete column for ViewText 2016-12-31 11:53:00 -05:00
Paul Beckingham
d4c9317239 CmdCommands: Removed obsolete include 2016-12-31 11:51:54 -05:00
Paul Beckingham
c8bd60b713 ColUDA: Removed redundant code 2016-12-31 11:49:15 -05:00
Paul Beckingham
78ff1975b2 ColTags: Removed redundant code 2016-12-31 11:47:34 -05:00
Paul Beckingham
b6d19ce1ad ColRecur: Removed redundant code 2016-12-31 11:47:15 -05:00
Paul Beckingham
110db6bb91 ColID: Documented ID 0 case 2016-12-31 11:46:02 -05:00
Paul Beckingham
c81c9f5b58 ColDepends: Removed redundant code 2016-12-31 11:45:31 -05:00
Paul Beckingham
7a4d99f954 ColTags: Corrected use of _name 2016-12-31 11:11:56 -05:00
Paul Beckingham
24f6b2665f ColStart: Removed redundant code 2016-12-31 11:11:42 -05:00
Paul Beckingham
5ae1da51b7 ColRecur: Corrected use of _name 2016-12-31 11:11:08 -05:00
Paul Beckingham
d48c357325 ColRecur: Added _modifiable 2016-12-31 11:10:44 -05:00
Paul Beckingham
a8d7a5122a ColMask: Corrected use of _name 2016-12-31 11:10:13 -05:00
Paul Beckingham
b3e976fbaa ColIMask: Corrected use of _name 2016-12-31 11:09:54 -05:00
Paul Beckingham
3c9081c22b ColEntry: Added _modifiable 2016-12-31 11:09:27 -05:00
Paul Beckingham
9fd1500d20 ColDue: Added _modifiable 2016-12-31 11:09:13 -05:00
Paul Beckingham
62f40d0830 ColDescription: Added _modifiable 2016-12-31 11:08:59 -05:00
Paul Beckingham
9888f98333 ColUDA: Removed redundant code 2016-12-31 10:40:29 -05:00
Paul Beckingham
e616538bcc ColUDA: Added _modifiable 2016-12-31 10:40:11 -05:00
Paul Beckingham
0f4337334c ColUUID: Removed unnecessary header 2016-12-31 10:38:11 -05:00
Paul Beckingham
57e9858c1d ColUrgency: Marked column as unmodifiable 2016-12-31 10:36:13 -05:00
Paul Beckingham
79b2540042 ColWait: Formatting cleanup 2016-12-31 10:34:24 -05:00
Paul Beckingham
3389665227 ColDepends: Corrected use of _name 2016-12-31 10:32:58 -05:00
Paul Beckingham
8e39420375 ColUntil: Formatting cleanup 2016-12-31 10:32:41 -05:00
Paul Beckingham
f3b28374c2 ColScheduled: Fixed bug where the wrong column label was used 2016-12-31 10:32:18 -05:00
Paul Beckingham
a9063284d9 ColScheduled: Formatting cleanup 2016-12-31 10:31:27 -05:00
Paul Beckingham
6818b85c26 ColLast: Corrected use of _name 2016-12-31 10:23:51 -05:00
Paul Beckingham
ade87bda24 ColRType: Added ::setStyle and ::validate 2016-12-31 09:54:31 -05:00
Paul Beckingham
b17bfb50b3 ColType*: Push the ::validate and ::modify methods down from Column 2016-12-31 09:53:42 -05:00
Paul Beckingham
76c2de685b ColRType: New recurrence attribute 2016-12-31 09:09:29 -05:00
Paul Beckingham
aedf99a827 ColLast: New recurrence attribute 2016-12-31 09:01:21 -05:00
Paul Beckingham
5ac7ca6885 ColTemplate: New recurrence attribute 2016-12-31 08:47:47 -05:00
Paul Beckingham
b600671e53 TW-1878: uuids subcommand produces a space-delimited list, not comma-delimited
- Thanks to Scott Kostyshak.
2016-12-22 08:49:57 -05:00
Paul Beckingham
e2d3737590 Config: 'debug.tls' was missing from 'show' command 2016-12-19 12:20:49 -05:00
Paul Beckingham
a7465d58d7 TW-1855: "Well-known" CA certificates not properly auto-loaded
- Thanks to Flavio Poletti.
2016-12-19 12:16:22 -05:00
Paul Beckingham
2d43cbd2c0 Improved certificate validation diagnostics
- Thanks to Jelle van der Waa.
2016-12-19 12:05:36 -05:00
Paul Beckingham
85eb32c87d TLSClient: Added GnuTLS 3.4.6 API support
- This greatly simplifies cert validation.
2016-12-19 12:01:01 -05:00
Paul Beckingham
00a7b377cc TLSClient: Corrected version number for API call 2016-12-19 11:59:24 -05:00
Paul Beckingham
efdf0ca4dd TLSClient: Added handshake timeout 2016-12-19 11:58:33 -05:00
Paul Beckingham
6d3af50604 TLSClient: Commented possible need for version protection 2016-12-19 11:57:24 -05:00
Paul Beckingham
e717d13802 TLSClient: Labelled GnuTLS calls with version numbers 2016-12-19 11:56:47 -05:00
Paul Beckingham
c300cff00f TW-1873: Specify different path to extensions/hooks directory
- Thanks to Eli.
2016-12-19 09:03:27 -05:00
Paul Beckingham
77b3ee0561 Docs: Updated dev docs 2016-12-18 13:06:16 -05:00
Paul Beckingham
5ec4b5ebc9 recur: Migrated from ISO8601d to Datetime 2016-12-17 22:36:29 -05:00
Paul Beckingham
46cd9632a6 Context: Migrated from ISO8601d to Datetime 2016-12-17 22:21:02 -05:00
Paul Beckingham
b670d4b072 Task: Migrated from ISO8601d to Datetime 2016-12-17 22:18:46 -05:00
Paul Beckingham
0cf056f4b2 CmdHistory: Migrated from ISO8601d to Datetime 2016-12-17 22:13:31 -05:00
Paul Beckingham
d3b25f7325 CmdCalendar: Migrated from ISO8601d to Datetime 2016-12-17 22:08:38 -05:00
Paul Beckingham
17f4b0fdbc CmdBurndown: Migrated from ISO8601d to Datetime 2016-12-17 22:01:56 -05:00
Paul Beckingham
340ec66891 Dates: Migrated from ISO8601d to Datetime 2016-12-17 21:56:18 -05:00
Paul Beckingham
ead550cbef CmdTimesheet: Migrated from ISO8601d to Datetime 2016-12-17 21:53:28 -05:00
Paul Beckingham
a81e66b609 ColDescription: Migrated from ISO8601d to Datetime 2016-12-17 21:44:29 -05:00
Paul Beckingham
1908d50be8 rules: Migrated from ISO8601d to Datetime 2016-12-17 21:25:21 -05:00
Paul Beckingham
c1bf321631 TDB2: Migrated from ISO8601d to Datetime 2016-12-17 21:22:35 -05:00
Paul Beckingham
1805cf733b Config: Migrated form ISO8601d to Datetime 2016-12-17 21:19:50 -05:00
Paul Beckingham
392e74cd70 ViewText: Eliminated 2016-12-17 20:23:36 -05:00
Paul Beckingham
1658998864 CmdSummary: Migrated from ViewText to Table 2016-12-17 20:14:13 -05:00
Paul Beckingham
c95aa9fa3c TDB2: Migrated from ViewText to Table 2016-12-17 20:10:21 -05:00
Paul Beckingham
6db3ff7c06 CmdHistory: Migrated from ViewText to Table 2016-12-17 20:02:49 -05:00
Paul Beckingham
0a8fb12dc5 CmdCalendar: Migrated from ViewText to Table 2016-12-17 17:37:47 -05:00
Paul Beckingham
c85862f894 Tests: Broke one tests into eight, so it is clear which one fails 2016-12-17 17:36:11 -05:00
Paul Beckingham
1e7f451093 CmdInfo: Added Table::forceColor 2016-12-17 17:31:21 -05:00
Paul Beckingham
79c1a94289 CmdInfo: Migrated from ViewText to Table 2016-12-17 17:30:44 -05:00
Paul Beckingham
dc851fe4b2 util: Migrated obfuscateText calls to libshared 2016-12-17 16:54:11 -05:00
Paul Beckingham
aad7fa60f8 libshared: Updated to 6d35bef52da4b881fcfb9946dddb01f603e225c8 2016-12-17 16:53:28 -05:00
Paul Beckingham
e6eac50b6c libshared: Updated to 1aa5c92f925a1eeec16639766994f2e6f70bcf8f 2016-12-17 16:36:41 -05:00
Paul Beckingham
8ca1878856 CmdProjects: Migrated from ViewText to Table 2016-12-17 14:47:12 -05:00
Paul Beckingham
8eaf9f7adc CmdCommands: Migrated from ViewText to Table 2016-12-17 14:46:19 -05:00
Paul Beckingham
68253639cd CmdColumns: Migrated from ViewText to Table 2016-12-17 14:22:37 -05:00
Paul Beckingham
d40305f566 CmdShow: Migrated from ViewText to Table 2016-12-17 14:21:48 -05:00
Paul Beckingham
4bd8ff9834 CmdTimesheet: Migrated from ViewText to Table 2016-12-17 14:20:07 -05:00
Paul Beckingham
e73c4ef138 CmdColor: Conencted rc.color to Table::forceColor 2016-12-17 14:19:25 -05:00
Paul Beckingham
ecdb96f7e1 CmdColor: Migrated from ViewText to Table 2016-12-17 13:40:46 -05:00
Paul Beckingham
b5922fbfd1 CmdStats: Migrated from ViewText to Table 2016-12-17 13:38:53 -05:00
Paul Beckingham
2f590bcebc CmdReports: Migrated from ViewText to Table 2016-12-17 13:37:12 -05:00
Paul Beckingham
359b148844 CmdHelp: Migrated from ViewText to Table 2016-12-17 13:36:06 -05:00
Paul Beckingham
25d42347c8 CmdTags: Migrated from ViewText to Table 2016-12-17 13:34:27 -05:00
Paul Beckingham
998b110b02 CmdVersion: Migrated from ViewText to Table 2016-12-17 13:27:20 -05:00
Paul Beckingham
3195e52e23 libshared: Updated to c3f1919945bd370b397314dc1ec245960a401820 2016-12-17 13:24:39 -05:00
Paul Beckingham
3e45b9cf1e L10N: Removed unused strings 2016-12-17 12:59:08 -05:00
Paul Beckingham
c77487994e util: Added missing include 2016-12-12 08:28:24 -05:00
Paul Beckingham
5b7fca8c63 Context: Removed unused class global 2016-12-12 08:28:06 -05:00
Paul Beckingham
b51e8a2945 CmdStats: Converted from ISO8601 to Datetime/Duration 2016-12-11 23:52:18 -05:00
Paul Beckingham
bbce4da1c9 CmdSummary: Converted from ISO8601 to Duration 2016-12-11 23:48:39 -05:00
Paul Beckingham
61b4e36b2c CmdBurndown: Converted from ISO8601 to Duration 2016-12-11 23:13:27 -05:00
Paul Beckingham
72076abc74 CmdInfo: Converted from ISO8601 to Datetime/Duration 2016-12-11 22:27:18 -05:00
Paul Beckingham
c8bdfab4b4 ColUDA: Converted from ISO8601 to Datetime/Duration 2016-12-11 22:23:53 -05:00
Paul Beckingham
4c2fff1b39 ColRecur: Converted from ISO8601 to Duration 2016-12-11 22:21:06 -05:00
Paul Beckingham
cb82795d86 CmdEdit: Converted from ISO8601 to Datetime/Duration 2016-12-11 22:06:47 -05:00
Paul Beckingham
5efca16748 ColTypeDate: Converted fomr ISO8601 to Datetime/Duration 2016-12-11 21:52:30 -05:00
Paul Beckingham
bc58b82e96 DOM: Converted from ISO8601 to Datetime/Duration
- In addition fixed the week number of 2011-09-01 to 35, therefore the
  tests change also.
2016-12-11 21:46:46 -05:00
Paul Beckingham
3ef2459f2e feedback: Migrated from ISO8601 to Datetime/Duration 2016-12-11 21:39:27 -05:00
Paul Beckingham
8a3af0c4a6 recur: Converted from ISO8601p to Duration 2016-12-11 21:32:41 -05:00
Paul Beckingham
2d9c28f47e Task: Converted from ISO8601p to Duration 2016-12-11 21:13:07 -05:00
Paul Beckingham
1c3a68edc0 sort: Converted from ISO8601p to Duration 2016-12-11 21:07:06 -05:00
Paul Beckingham
d9a3be9993 Variant: Converted from ISO8601p to Duration 2016-12-11 21:03:15 -05:00
Paul Beckingham
abd4cfc4ed DOM: Migrated from Nibbler to Lexer 2016-12-11 20:52:54 -05:00
Paul Beckingham
f6ae39cb82 Msg: Migrated to use libshared 2016-12-11 20:33:13 -05:00
Paul Beckingham
cdfd92ed9b Task: Migrated from Nibbler to Pig 2016-12-11 20:00:30 -05:00
Paul Beckingham
a456228e98 libshared: Updated to 9685a22c90ca6f832748f8c71bae3cfad352bc64 2016-12-11 19:56:59 -05:00
Paul Beckingham
b2ad9e96bd text: Eliminated module 2016-12-11 17:51:44 -05:00
Paul Beckingham
87757fb36f util: Migrated optionalBlankLine from text 2016-12-11 17:46:06 -05:00
Paul Beckingham
eb1e35e84b Tests: Eliminated empty text.t test 2016-12-11 17:40:40 -05:00
Paul Beckingham
a0d88aaef8 util: Migrated strippedLength from text 2016-12-11 17:39:11 -05:00
Paul Beckingham
0027c9face util: Migrated nontrivial from text 2016-12-11 17:34:50 -05:00
Paul Beckingham
a7d90fa1fa util: Migrated obfuscateText from text 2016-12-11 17:29:03 -05:00
Paul Beckingham
9f36fdfe65 Context: GC timing correction not always needed 2016-12-11 16:53:28 -05:00
Paul Beckingham
7041c466b4 libshared: Updated to dfb31a41ced0fe48d98efa2b55689201d8e19667 2016-12-11 16:52:01 -05:00
Paul Beckingham
0fecb26536 Task: Corrected str_replace calls 2016-12-11 16:09:37 -05:00
Paul Beckingham
7a43183a3f CLI2: Corrected str_replace calls 2016-12-11 16:09:16 -05:00
Paul Beckingham
065fd8b6f1 Task: Migrated unquoteText to Lexer::dequote 2016-12-11 16:08:47 -05:00
Paul Beckingham
b38eae6930 Tests: Removed migrated autoComplete tests 2016-12-07 01:18:25 -05:00
Paul Beckingham
0dd4ed2836 Tests: Removed migrated text tests 2016-12-07 01:15:01 -05:00
Paul Beckingham
fa420950a0 Tests: Removed migrated util tests 2016-12-07 01:14:47 -05:00
Paul Beckingham
3c6ce4e0fc text: Removed local join/split implementation 2016-12-07 01:14:16 -05:00
Paul Beckingham
6cdb0d4b95 util: Removed confirm 2016-12-06 07:32:19 -05:00
Paul Beckingham
c12deb535e util: Removed execute 2016-12-06 07:28:50 -05:00
Paul Beckingham
45e1622358 util: Removed formatBytes 2016-12-06 07:26:06 -05:00
Paul Beckingham
1bf2d0d20d text: Removed replace_positional 2016-12-06 07:25:41 -05:00
Paul Beckingham
0ed7fa8b2a calc: Migration to libshared 2016-12-06 07:23:25 -05:00
Paul Beckingham
355620c640 libhsared: migrating from local to libshared 2016-12-06 07:20:45 -05:00
Paul Beckingham
456925a02b libshared: Updated to 2af7d037559f84450fffa812829fc553498a7ae4 2016-12-05 23:34:52 -05:00
Paul Beckingham
45182566eb libshared: Updated to 9473050234dd3a90bff5400a081ee54881b6b0f5 2016-11-27 13:36:53 -05:00
Paul Beckingham
4da25ddda8 Docs: Typos in ref PDF
- Thanks to eldios.
2016-11-25 08:26:55 -08:00
Paul Beckingham
f21568ae4c Tests: Set sys.stdout as utf8 2016-11-21 22:07:02 -05:00
Paul Beckingham
973cb8a718 Tests: Fixed test harness for Python 3.x.
- Thanks to jrabbit.
2016-11-21 20:34:18 -05:00
Paul Beckingham
54c0717cdb TLSClient: Improved C++ core guidelines 2016-11-19 13:12:07 -05:00
Paul Beckingham
1772cc0ae9 libshared: Updated to ce5c3414de56a2d1390893bbdc46e7116c38cd90 2016-11-19 10:26:59 -05:00
Paul Beckingham
5a97ffee10 TDB2: Made sure file exists before checking readability 2016-11-19 09:45:04 -05:00
Paul Beckingham
68dac1b6c6 CmdDiagnostics: Made sure file existence is checked before readability 2016-11-19 09:43:39 -05:00
Paul Beckingham
5a5195fbb2 Context: Eliminated load timer 2016-11-13 14:04:03 -05:00
Paul Beckingham
e906b20014 Context: Eliminated render timer 2016-11-13 13:42:48 -05:00
Paul Beckingham
473eaec923 Context: Eliminated hooks timer 2016-11-13 13:37:54 -05:00
Paul Beckingham
88512e25cb Context: Eliminated sort timer 2016-11-13 13:33:55 -05:00
Paul Beckingham
d39934e7b9 Context: Eliminated commit timer 2016-11-13 13:31:31 -05:00
Paul Beckingham
3f1c60cf37 Context: Eliminated filter timer 2016-11-13 13:27:38 -05:00
Paul Beckingham
cfc2fd28e8 Context: Eliminated gc timer 2016-11-13 13:16:48 -05:00
Paul Beckingham
30cfc11f80 Context: Uses inline member initialization 2016-11-13 13:12:07 -05:00
Paul Beckingham
8824d3ae5a Context: Migrated to libshared Timer 2016-11-13 13:10:48 -05:00
Paul Beckingham
fcb21abfa0 TDB2: Migrated to libshared Timer 2016-11-13 13:08:04 -05:00
Paul Beckingham
81fce54fd9 Hooks: Migrated to libshared Timer 2016-11-13 13:07:09 -05:00
Paul Beckingham
f5d46a34aa Config: Migrated to libshared Timer 2016-11-13 13:06:48 -05:00
Paul Beckingham
302b5a5589 Context: Added ::debugTiming to wrap Timer formatting 2016-11-13 13:02:44 -05:00
Paul Beckingham
14e3224c5b libshared: Updated to 200f8c699b3011dbe49483e6343affad86e0ac96 2016-11-13 09:30:13 -05:00
Paul Beckingham
40488808e5 Test: Removed binary output from test 2016-11-06 23:56:55 -05:00
Paul Beckingham
5e3468c1be Test: Removed binary output from test 2016-11-06 23:50:40 -05:00
Paul Beckingham
f82812ab24 Tests: Fixed unit test that emitted unicode, that 'run_all' dislikes 2016-11-06 17:57:35 -05:00
Paul Beckingham
220aaf29f2 Test: Fixed bad typo in test framework 2016-11-06 01:12:56 -04:00
Paul Beckingham
08bbf9aa20 TLSClient: Improved C+ Core Guidelines compliance 2016-11-06 01:05:14 -04:00
Paul Beckingham
688d6b658b TLSClient: No longer calls gnutls_global_{de,}init for 3.3.0+ 2016-11-06 01:04:36 -04:00
Tomas Babej
bcfebffa7f l10n: Make safete valve message more explicit about completed/deleted tasks 2016-10-31 13:25:36 -04:00
Paul Beckingham
9e6839a2c4 Tests: Removed unnecessary imports 2016-10-22 13:21:39 -04:00
Paul Beckingham
4f072d47cd Timer: Migrated to libshared 2016-10-17 21:52:39 -04:00
Paul Beckingham
15e112c54d ViewTask: Removed unused include 2016-10-17 17:16:14 -04:00
Paul Beckingham
363415878c CmdEdit: Migrated from Nibbler to Pig 2016-10-16 23:16:09 -04:00
Paul Beckingham
0400d99c7a CmdUDAs: Migrated from ViewText to Table 2016-10-16 22:53:52 -04:00
Paul Beckingham
fda27a46bf CmdContext: Migrated from ViewText to Table 2016-10-16 22:47:26 -04:00
Paul Beckingham
40f35d6494 Dependency: Don't use string literals when character literals are needed 2016-10-16 22:46:39 -04:00
Paul Beckingham
096f12fd09 Docs: Updated regarding TW-1857 2016-10-16 13:49:05 -04:00
inbinder
6f0a3c12de Src: rules.cpp changed Task::get to Task::has in colorizeProjectNone function 2016-10-16 13:45:28 -04:00
Paul Beckingham
8922728888 Cleanup: Don't use string literals when character literals are needed 2016-10-14 23:11:28 -04:00
Paul Beckingham
95f4989f77 Cleanup: Don't use string literals when character literals are needed 2016-10-14 22:27:34 -04:00
Paul Beckingham
5403675100 libshared: Updated to d84d1bc70b14c85af771bb5cc7299c290d5372b5 2016-10-14 20:51:19 -04:00
Paul Beckingham
4d83ed8588 ColScheduled: Removed unused includes 2016-10-14 19:02:46 -04:00
Paul Beckingham
184e89cddd ColParent: Removed unused includes 2016-10-14 19:02:28 -04:00
Paul Beckingham
ba0674b53f ColMask: Removed unused includes 2016-10-14 19:02:17 -04:00
Paul Beckingham
03c404bc8f ColIMask: Removed unused includes 2016-10-14 19:02:06 -04:00
Paul Beckingham
df1cf61421 ColDue: Removed unused includes 2016-10-14 19:01:46 -04:00
Paul Beckingham
0df3e3b0d9 ColDescription: Don't use string literals when character literals are needed 2016-10-14 18:58:31 -04:00
Paul Beckingham
66915635c8 Build: Eliminated compiler warning 2016-09-09 21:37:37 -04:00
Paul Beckingham
9fc71ff3ec Docs: Removed old reference to support forums 2016-09-05 08:52:17 -04:00
Paul Beckingham
d8bf209f29 Tests: Updated to non-deprecated Boolean values 2016-09-04 16:13:23 -04:00
Paul Beckingham
0b729b5d97 Config: Changed to 0/1 boolean values for the defaults.
- Deprecated use of alternate Boolean configuration settings. Use values "0" for
  off, and "1" for on. Avoid used of "on", "off", "true", "t", "false", "f",
  "yes", "y", "no", "n".
2016-09-04 16:11:59 -04:00
Paul Beckingham
4a48b8112b Docs: Updated dev build instructions 2016-09-02 08:08:12 -04:00
Paul Beckingham
d025f3deb6 TW-1778: Unicode strings are truncated in task description
- Thanks to Andrew, bjonnh, OKOMPer, Vladimir.
2016-08-31 17:48:45 -04:00
Paul Beckingham
394b7174cf L10N: Updated error message to not refer to only pending tasks 2016-08-22 09:19:18 -04:00
Paul Beckingham
e0f5943b63 Docs: Added Ran Benita 2016-08-02 08:25:02 -04:00
Ran Benita
661ce5888f Scripts: Quoted regular expression to avoid bash glob expansion
The quote is needed, otherwise it is treated as a bash glob first, which
causes trouble if there actually happens to be matching files, and
fails entirely if `shopt -s failglob` is set.
2016-08-02 08:23:51 -04:00
Paul Beckingham
4b62bf816c Docs: ChangeLog had wrong bug id 2016-07-08 23:09:17 -04:00
Paul Beckingham
62d2514425 Tests: Removed redundant FS tests 2016-06-26 09:21:55 -04:00
Paul Beckingham
d648e0ae44 libshared: Integrated FS 2016-06-26 09:15:08 -04:00
Paul Beckingham
befab82c04 DOM: Eiminated Nibbler 2016-06-25 18:16:34 -04:00
Paul Beckingham
143e149de5 libshared: Added Table 2016-06-25 18:09:36 -04:00
Paul Beckingham
fb3563bf65 Tests: Removed redundant utf8 tests 2016-06-25 17:54:18 -04:00
Paul Beckingham
43de419cdd libshared: Integrated utf8, wcwidth 2016-06-25 17:52:20 -04:00
Paul Beckingham
446580d8dd Tests: Removed redundant listt tests 2016-06-25 17:50:14 -04:00
Paul Beckingham
058f9ab218 Tests: Removed redundant format tests 2016-06-25 17:48:21 -04:00
Paul Beckingham
59f4475466 Tests: Removed JSON tests 2016-06-25 17:42:59 -04:00
Paul Beckingham
802020a7bb Git: Now ignores liblibshared.a 2016-06-25 17:28:15 -04:00
Paul Beckingham
8291e97e87 libshared: Integrated JSON 2016-06-25 17:27:57 -04:00
Paul Beckingham
806043f0ad Tests: Removed RX tests 2016-06-25 17:23:15 -04:00
Paul Beckingham
2e8763364b libshared: Integrated the submodule
- Integrated RX.
2016-06-25 17:22:27 -04:00
Paul Beckingham
77b443ce8b libshared: Added libshared 2016-06-25 17:12:00 -04:00
Paul Beckingham
4de7617c1b Docs: Removed one suggestion for reporting bugs 2016-06-24 22:23:49 -04:00
Paul Beckingham
d031d4282f TW-1820: Install with -DLANGUAGE=2 flag not work.
- Thanks to E. Manuel Cerr'on Angeles
2016-06-14 19:39:30 -04:00
Paul Beckingham
504c49090b L10N: Removed unused strings 2016-06-14 19:36:52 -04:00
Tomas Babej
c79ae0848c TW-61: Extract only tasks with annotations
- Thanks to Aikido Guy.
- Note: This is just bookkeeping commit, the solution (+ANNOTATED
  virtual tag) is present since 2.3.0.
2016-06-12 21:10:01 +02:00
Paul Beckingham
e52709133d TW-1813: Range filter doesn't work
- Thanks to george js.
2016-06-12 14:58:10 -04:00
Paul Beckingham
4711dd9e13 Docs: Added QUARTER virtual tag 2016-05-30 14:13:03 -04:00
Paul Beckingham
ed7097d5da Task: Made better use of ::sameN methods 2016-05-30 14:11:29 -04:00
Paul Beckingham
630a1530e0 Task: Added QUARTER virtual tag 2016-05-30 14:11:07 -04:00
Paul Beckingham
fd69305ad3 Tests: Added ::sameQuarter tests 2016-05-30 14:09:52 -04:00
Paul Beckingham
dd72bed28a ISO8601: Added ::sameQuarter 2016-05-30 14:04:49 -04:00
Paul Beckingham
091122350c Tests: Added 'w' dateformat test 2016-05-20 14:47:34 -05:00
Paul Beckingham
af8434b845 TW-1807: dateformat lacks a flag to display day of week
- Thanks to Ellington Santos.
2016-05-20 14:41:08 -05:00
Paul Beckingham
2720ea5a30 TW-1806: project:ide is not allowed
- Thanks to Slaven ʙanovic.
2016-05-20 11:13:46 -05:00
Paul Beckingham
53b526074f Cleanup: Removed debug output 2016-05-20 10:56:20 -05:00
Paul Beckingham
b47fc523b9 Task: Corrected false-positive warning about relative dates 2016-05-08 16:41:24 -04:00
Paul Beckingham
30c81c3046 ColTypeDate: Fixed countdown format only showing values in the past 2016-05-08 16:37:19 -04:00
Paul Beckingham
d27cb75ec1 util: Corrected comment 2016-05-08 16:36:25 -04:00
Tomas Babej
f79afb6269 NEWS: Deprecate new-uuid verbosity option 2016-05-01 16:30:57 -04:00
Paul Beckingham
70dc1cc9ae L10N: Fixed ambiguity in the esp-ESP localization
- Thanks to Fidel Mato.
2016-04-28 21:02:09 -04:00
Paul Beckingham
a3cc616151 Tests: Removed broken test
- It was not only broken between easter and midsommarafton, but just performing
  an additional comparison. Not needed.
2016-04-15 08:06:17 -04:00
Paul Beckingham
1625dd6f10 TW-1795: Calendar underline on Day padding
- Thanks to Renato Alves.
2016-04-15 07:55:21 -04:00
Paul Beckingham
7910a3cb5a CMake: Added snotty comment about CMake bullshit 2016-04-13 16:35:08 -04:00
Paul Beckingham
2800e473cb Tests: Wrong test count causes unexpected 'green' in test results 2016-04-09 16:18:35 -04:00
Paul Beckingham
7232d79e67 cmake: Use the CXXSniffer 2016-04-09 16:18:07 -04:00
Tomas Babej
3d1498240c TW-1792: The info command uses '0' to reference dependencies on non-pending tasks
- Thanks to Paul Beckingham for providing screenshots capturing the bug.
2016-04-03 13:33:03 -04:00
Tomas Babej
f3147a512c feedback: Use task identifiers instead of IDs
During construction of a feedback string for a dependency change,
a list of IDs of the dependencies was used. However, if the tasks
being referred to are already deleted / completed, their respective
IDs are all 0s.

Use shortened UUIDs in such case.
2016-04-03 09:35:18 -04:00
Paul Beckingham
6f819af367 TW-1791: taskrc(5) manpage: spurious "pri." in rule.precedence.color
- Thanks to Sebastien Badia.
2016-04-02 15:08:35 -04:00
Paul Beckingham
f91df9c972 Tests: Updated test harness 2016-03-29 22:56:07 -04:00
Paul Beckingham
b2d49f3973 Task: Deprecated the 'DUETODAY' virtual tag, which is a synonym for the 'TODAY'
virtual tag.

- Thanks to Tomas Babej
2016-03-29 07:52:38 -04:00
Lynoure Braakman
6a790e3675 juhannus as an alternative name for midsommarafton 2016-03-27 16:48:34 -04:00
Paul Beckingham
325771d899 Tests: Typo in test 2016-03-26 21:21:51 -04:00
Tom Sydney Kerckhove
68cde6aa7e Docs: fixed inconsistency in the spelling of CMake 2016-03-26 10:54:07 -04:00
Tomas Babej
76d9ed2148 TW-1788: Closing a reopened task does not update the end time
- Thanks to Ralph Bean.
2016-03-22 19:33:29 -04:00
Tomas Babej
fe58b42f68 tests: Add test for TW-1788 2016-03-22 19:33:26 -04:00
Tomas Babej
cc324fdb8d validate: Pending tasks cannot have end attribute set 2016-03-22 19:33:24 -04:00
Tomas Babej
727602f26f TW-1772: Implementation of circular dependency detection is inefficient
- Thanks to Michael Meier.
2016-03-21 21:55:59 -04:00
Tomas Babej
10018dac18 dependencyIsCircular: Do not visit one node multiple times 2016-03-21 21:55:55 -04:00
Tomas Babej
58a0e9c2e4 l10n: Propagate the purge-related strings into language files 2016-03-20 14:40:16 -04:00
Tomas Babej
6e2a9c791f docs: Update ChangeLog and NEWS 2016-03-20 14:40:13 -04:00
Tomas Babej
9a29417bb5 docs: Document new purge command 2016-03-20 14:40:09 -04:00
Tomas Babej
9a2a642014 tests: Expand test cases for purge command 2016-03-20 14:40:07 -04:00
Tomas Babej
4b5efe1136 tests: The purge command now requires confirmation 2016-03-20 14:40:04 -04:00
Tomas Babej
ec38b3afd8 CmdPurge: Handle child tasks of recurrence templates 2016-03-20 14:40:01 -04:00
Tomas Babej
4465b48f75 TDB2: Fix wrong comment 2016-03-20 14:39:56 -04:00
Tomas Babej
56a897511f CmdPurge: Simplify implementation 2016-03-20 14:39:51 -04:00
Tomas Babej
b0336dfd50 CmdPurge: Move dependency handling into separate method 2016-03-20 14:39:46 -04:00
Tomas Babej
fd0d2fc917 CmdPurge: Prompt before purging a task 2016-03-20 14:39:43 -04:00
Paul Beckingham
6bca92a488 L10N: Propagated new strings to all LANGS 2016-03-19 22:00:09 -04:00
Paul Beckingham
fd4cf8fec4 Docs: Added MAKEFLAGS example 2016-03-19 21:51:34 -04:00
Tomas Babej
cda4e505e6 tests: Add coverage for purge command 2016-03-19 21:46:38 -04:00
Tomas Babej
293ccfdb02 DEVELOPER: Use multiple jobs during make 2016-03-19 21:46:32 -04:00
Tomas Babej
2b88260531 CmdPurge: Require GC run prior to execution
Since TDB2::purge method allows purging of the tasks only
on competed.data file, we need to make sure that all the tasks
that were supposed to be moved to completed.data have been
moved - in other words, we need to run GC.

This allows for diract usage of purge after delete, that is:

$ task <filter> delete
$ task <filter> purge

working as expected.
2016-03-19 21:46:29 -04:00
Tomas Babej
b3652800da CmdPurge: Remove purged tasks from dependencies 2016-03-19 21:46:24 -04:00
Tomas Babej
1caa9daec0 CmdPurge: Add initial implementation 2016-03-19 21:46:21 -04:00
Tomas Babej
96d6fb145f TDB2: Add capability to purge tasks out of data files 2016-03-19 21:46:18 -04:00
Paul Beckingham
7af844fde5 CmdDiagnostics: Typo 2016-03-17 17:17:22 -04:00
Paul Beckingham
e220ee884c TW-1741: Warning "ignoring return value of ‘int ftruncate" while doing make on xubuntu15.10
- Thanks to Sunil Joshi.
2016-02-28 11:19:29 -05:00
Paul Beckingham
eb09df0e6a TD-64: sync conflict deleted all annotations of the task
- Thanks to Markus Beppler, Konstantin Vorobyev.
2016-02-28 11:09:00 -05:00
Paul Beckingham
bc34397e9b calc: Uses osName() to reduce string literals 2016-02-25 00:21:52 -05:00
Paul Beckingham
2d20f4d57b Cleanup: Converted all sprintf to snprintf 2016-02-25 00:19:38 -05:00
Paul Beckingham
88f6872190 Rules: Improved use of 'const' and 'auto' 2016-02-24 23:55:46 -05:00
Paul Beckingham
549b970e49 Cleanup: Removed redundant processing of OS name 2016-02-24 23:43:23 -05:00
Paul Beckingham
bfefd247c4 Context: Combined interactive.cpp and Context.cpp 2016-02-24 23:26:39 -05:00
Paul Beckingham
19b2151f12 Cleanup: Removed deprecated 'alias._query' setting 2016-02-24 23:19:15 -05:00
Federico Hernandez
79e29abddc Bumped ref page to 2.6.0 2016-02-25 00:17:09 +01:00
Federico Hernandez
2c8205317f Bumped documentation to 2.6.0 2016-02-25 00:07:51 +01:00
Federico Hernandez
ef5551f3ec Bumped version number to 2.6.0 2016-02-24 23:49:51 +01:00
488 changed files with 17808 additions and 12779 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
github: GothenburgBitFactory

61
.github/workflows/tests.yaml vendored Normal file
View File

@@ -0,0 +1,61 @@
name: tests
on: [push, pull_request]
jobs:
tests:
strategy:
fail-fast: false
matrix:
include:
- name: "Centos 8"
runner: ubuntu-latest
dockerfile: centos8
- name: "Fedora 31"
runner: ubuntu-latest
dockerfile: fedora31
- name: "Fedora 32"
runner: ubuntu-latest
dockerfile: fedora32
- name: "Fedora 33"
runner: ubuntu-latest
dockerfile: fedora33
- name: "Fedora 34"
runner: ubuntu-latest
dockerfile: fedora34
- name: "Debian Testing"
runner: ubuntu-latest
dockerfile: debiantesting
- name: "Ubuntu 18.04"
runner: ubuntu-latest
dockerfile: ubuntu1804
- 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
- name: "Archlinux Base (Rolling)"
runner: ubuntu-latest
dockerfile: arch
- name: "Mac OS X 10.13"
runner: macos-latest
dockerfile: osx
runs-on: ${{ matrix.runner }}
continue-on-error: ${{ matrix.continue-on-error == true }}
steps:
- uses: actions/checkout@v2
- name: Build ${{ matrix.name }}
env:
DOCKER_REGISTRY: docker.pkg.github.com
DOCKER_CACHE_IMAGE: docker.pkg.github.com/${{ github.repository }}/taskwarrior_cache
GITHUB_USER: ${{ github.actor }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONTAINER: ${{ matrix.dockerfile }}
run: if [[ $CONTAINER != "osx" ]]; then docker-compose build test-$CONTAINER ; fi
- name: Test ${{ matrix.name }}
run: if [[ $CONTAINER != "osx" ]]; then docker-compose run test-$CONTAINER; else bash test/scripts/test_osx.sh ; fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONTAINER: ${{ matrix.dockerfile }}

View File

@@ -1,49 +0,0 @@
sudo: required
language: generic
matrix:
include:
- name: "Centos 7"
os: linux
env: CONTAINER=centos7
services: docker
- name: "Fedora 28"
os: linux
env: CONTAINER=fedora28
services: docker
- name: "Fedora 29"
os: linux
env: CONTAINER=fedora28
services: docker
- name: "Debian Stable"
os: linux
env: CONTAINER=debianstable
services: docker
- name: "Debian Testing"
os: linux
env: CONTAINER=debiantesting
services: docker
- name: "Ubuntu 16.04"
os: linux
env: CONTAINER=ubuntu1604
services: docker
- name: "Ubuntu 18.04"
os: linux
env: CONTAINER=ubuntu1804
services: docker
- name: "OpenSUSE 15.0"
os: linux
env: CONTAINER=opensuse1500
services: docker
- name: "Archlinux 2018.01.01"
os: linux
env: CONTAINER=arch180101
services: docker
- name: "Mac OS X 10.13"
os: osx
env: CONTAINER=osx
install:
# Build the docker container
- pushd $TRAVIS_BUILD_DIR
- if [[ $CONTAINER != "osx" ]]; then docker-compose build test-$CONTAINER ; fi
script:
- if [[ $CONTAINER != "osx" ]]; then docker-compose run test-$CONTAINER; else bash test/scripts/test_osx.sh ; fi

16
AUTHORS
View File

@@ -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.

View File

@@ -7,9 +7,10 @@ include (CheckStructHasMember)
set (HAVE_CMAKE true)
project (task)
set (PROJECT_VERSION "2.5.2")
include (CXXSniffer)
set (PROJECT_VERSION "2.6.1")
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/" ".travis.yml" "/\\\\.gitignore" "/\\\\.git/" "swp$" "src/lex$")
"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)

View File

@@ -1,6 +1,6 @@
Taskwarrior - a command line task list manager.
Copyright 2006 - 2020, 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

173
ChangeLog
View File

@@ -1,4 +1,169 @@
2.5.2 () -
2.6.1 () -
- TW #2619 Fish autocompletion fails when completing tag removal
Thanks to Alexandre Provencio for reporting, Tin Lai and Alexandre
Provencio for contributing.
- TW #2620 Old-style context definition should only be interpreted as read
context.
Thanks to bongoman and Tom Dörr for reporting.
- TW #2622 Tags and dependencies appear as orphaned UDAs.
Thanks to Scott Mcdermott for reporting.
- TW #2626 Waiting report lists deleted and/or completed tasks.
Thanks to Don Harper for reporting.
- TW #2629 New-style context definition should take precendence over old-style
even if the new-style is an empty string.
Thanks to Denis Kasak for reporting.
- TW #2632 Cannot build on Cygwin
Thanks to Michael Esemplare for contributing.
- TW #2639 Unable to use ranges for some tasks with IDs above 1000.
Thanks to Manuel Haussmann for reporting.
------ current release ---------------------------
2.6.0 (2021-10-03) - 8174287f917a3b24c19a6601ba36fca9bdaa78c9
- 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
------ old releases ------------------------------
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.
2.5.2 (2020-12-05) - b0c17d11639dc6e783befd89c8508f2abb9b4287
- TD-64 sync conflict deleted all annotations of the task
Thanks to Markus Beppler, Konstantin Vorobyev
@@ -152,8 +317,6 @@
- Do not set CMP0037 on CMake 3.11.0 and above
Thanks to Janik Rabe
------ current release ---------------------------
2.5.1 (2016-02-24) 8b4ae3b54b44dfbd00b96cdd6dceb8dfe7cc1ea0
- TD-104 Unrecognized taskwarrior file format
@@ -264,8 +427,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
@@ -1300,7 +1461,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

View File

@@ -2,16 +2,16 @@
## 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:
```
$ git clone --recursive https://github.com/GothenburgBitFactory/taskwarrior taskwarrior.git
$ cd taskwarrior.git
$ git checkout 2.6.0 # Latest dev branch
$ git checkout develop # Latest dev branch
$ git submodule init # This is now done by cmake as a test
$ git submodule update # Update the libhsared.git submodule
$ cmake -DCMAKE_BUILD_TYPE=debug . # debug or release. Default: neither
@@ -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
@@ -144,14 +144,3 @@
is possible that a patch may be rejected because it conflicts in some way with
plans or upcoming changes. Check with us first, before sinking time and effort
into a patch.
# Current Code Base Condition
**'master' branch**:
* 2.5.1 Current release, locked.
**'2.6.0' branch**:
* Current development branch.
---
2018-05-13 Updated for 2.5.2

12
INSTALL
View File

@@ -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

View File

@@ -1,6 +1,8 @@
Taskwarrior - a command line task list manager.
The MIT License
Copyright 2006 - 2020, 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

189
NEWS
View File

@@ -1,81 +1,152 @@
New Features in Taskwarrior 2.6.0
New Features in Taskwarrior 2.5.2
- 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 considered "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.
- The 'QUARTER' virutal tag was added.
- The 'help' command now takes a 'usage' argument, which displays only the
command usage.
- Improved compatibility with SmartOS, OmniOS and OpenIndiana.
- New DOM references: annotations.count, tw.syncneeded, tw.program, tw.args,
tw.width, tw.height, tw.version.
- Renovated 'timesheet' command with a more compact report that accepts a
filter, and has a default filter showing the last four weeks of completed
and started tasks.
- The message telling you to sync now indicates how many local changes will be
synced.
New Commands in Taskwarrior 2.5.2
New Commands in Taskwarrior 2.6.0
- The 'purge' command was added, which completely removes old tasks.
- Added new 'history.weekly', 'history.daily', 'ghistory.weekly',
'ghistory.daily' reports.
- 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.5.2
New Configuration Options in Taskwarrior 2.6.0
- New 'relative' column format for 'date' type columns does what 'remaining'
and 'countdown' do, but in one format.
- The 'default.scheduled' date/duration works just like 'default.due'.
- The 'report.timesheet.filter' setting controls the tasks shown by the
'timesheet' command.
- 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.5.2
- The 'DUETODAY' virtual tag is a synonym for the 'TODAY' virtual tag, and is
not needed.
- The 'new-uuid' verbosity option is to be removed, as it is redundant, its
functionality will be merged with 'new-id' option.
- The use of alternate Boolean configuration settings is deprecated. Use values
"0" for off, and "1" for on. Avoid used of "on", "off", "true", "t",
"false", "f", "yes", "y", "no", "n".
- The 'context.program', 'context.args', 'context.width' and 'context.height'
DOM references are deprecated, replaced by similarly-named 'tw.xxx'
references.
Newly Deprecated Features in Taskwarrior 2.6.0
Removed Features in 2.5.2
- 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.
- Removed 'alias._query' default configuration.
- There is no longer a 16-color default configuration for some platforms,
making all platforms 256-color.
- The configuration setting 'burndown.bias' is no longer used.
- The algorithm used to estimate completion on the 'burndown' reports has
been replaced by something less icky. Estimates are now based on the net
completion rate after the peak number of pending tasks.
- The unused 'dom' and 'shell.prompt' configuration settings were removed.
- Translations are no longer supported.
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 has been built and tested on the following configurations:
Taskwarrior 2.6.0 has been built and tested on the following configurations:
* macOS
* Fedora
* Ubuntu
* Debian
* Arch
* FreeBSD
* CentOS
* Archlinux
* OpenSUSE
* macOS 10.15
* Fedora (31, 32, 33, 34)
* Ubuntu (18.04, 20.04, 21.04)
* Debian (Stable, Testing)
* CentOS (7, 8)
However, we expect Taskwarrior to work on other platforms as well.
---
While Taskwarrior has undergone testing, bugs are sure to remain. If you
encounter a bug, please enter a new issue at:
https://github.com/GothenburgBitFactory/taskwarrior<Paste>
Or just send a message to:
support@GothenburgBitFactory.org
Thank you.
https://github.com/GothenburgBitFactory/taskwarrior

115
README.md
View File

@@ -1,39 +1,78 @@
# Taskwarrior
<div align="center">
<img src="https://avatars.githubusercontent.com/u/36100920?s=200&u=24da05914c20c4ccfe8485310f7b83049407fa9a&v=4"></br>
[![Travis build status](https://travis-ci.org/GothenburgBitFactory/taskwarrior.svg?branch=2.5.2)](https://travis-ci.org/GothenburgBitFactory/taskwarrior)
[![GitHub Actions build status](https://github.com/GothenburgBitFactory/taskwarrior/workflows/tests/badge.svg?branch=develop)](https://github.com/GothenburgBitFactory/taskwarrior/actions)
[![Release](https://img.shields.io/github/v/release/GothenburgBitFactory/taskwarrior)](https://github.com/GothenburgBitFactory/taskwarrior/releases/latest)
[![Release date](https://img.shields.io/github/release-date/GothenburgBitFactory/taskwarrior)](https://github.com/GothenburgBitFactory/taskwarrior/releases/latest)
![Commits since release](https://img.shields.io/github/commits-since/GothenburgBitFactory/taskwarrior/latest)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/GothenburgBitFactory?color=green)](https://github.com/sponsors/GothenburgBitFactory/)
</br>
[![Twitter](https://img.shields.io/twitter/follow/taskwarrior?style=social)](https://twitter.com/taskwarrior)
</div>
Thank you for taking a look at Taskwarrior!
## Taskwarrior
![OS-X downloads](https://img.shields.io/homebrew/installs/dy/task?label=OS-X%20downloads)
![Github downloads](https://img.shields.io/github/downloads/GothenburgBitFactory/taskwarrior/total?label=Github%20downloads)
![Linux downloads](https://img.shields.io/badge/Linux%20downloads-unknown-gray)
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
[![Arch](https://img.shields.io/archlinux/v/community/x86_64/task)](https://archlinux.org/packages/community/x86_64/task/)
[![Debian](https://img.shields.io/debian/v/task/testing)](https://packages.debian.org/search?keywords=task&searchon=names&suite=all&section=all)
[![Fedora](https://img.shields.io/fedora/v/task)](https://bodhi.fedoraproject.org/updates/?packages=task)
[![Homebrew](https://img.shields.io/homebrew/v/task)](https://formulae.brew.sh/formula/task#default)
[![Ubuntu](https://img.shields.io/ubuntu/v/task)](https://packages.ubuntu.com/search?keywords=task&searchon=names&suite=hirsute&section=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
[![Twitter](https://img.shields.io/twitter/follow/taskwarrior?style=social)](https://twitter.com/taskwarrior)
[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/taskwarrior?style=social)](https://reddit.com/r/taskwarrior/)
[![Libera.chat](https://img.shields.io/badge/IRC%20libera.chat-online-green)](https://web.libera.chat/#taskwarrior)
[![Discord](https://img.shields.io/discord/796949983734661191?label=discord)](https://discord.gg/eRXEHk8w62)
[![Github discussions](https://img.shields.io/github/discussions/GothenburgBitFactory/taskwarrior?label=GitHub%20discussions)](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
We use the following branching model:
* `master` is the stable branch. Building from here is the same as building
from the latest tarball, or installing a binary package. No development is
done on the `master` branch.
* `stable` is a branch containing the content of the latest release. Building
from here is the same as building from the latest tarball, or installing a
binary package. No development is done on the `stable` branch.
* `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.
* `develop` is the current development branch. All work is done here, and upon
release it will be merged to `stable`. While development branch is not
stable, we utilize CI to ensure we're at least not merging improvements that
break existing tests, and hence should be relatively safe. We still recommend
making backups when using the development branch.
## Installing
@@ -42,30 +81,21 @@ 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:
$ curl -O https://taskwarrior.org/download/task-2.6.0.tar.gz
$ tar xzf task-2.6.0.tar.gz
$ cd task-2.6.0
$ curl -O https://taskwarrior.org/download/task-2.6.1.tar.gz
$ tar xzf task-2.6.1.tar.gz
$ cd task-2.6.1
Or clone this repository:
$ git clone --recursive -b 2.6.0 https://github.com/GothenburgBitFactory/taskwarrior.git
$ git clone --recursive -b stable 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 +107,27 @@ Then build:
$ sudo make install
## Contributing
[![Contributors](https://img.shields.io/github/contributors/GothenburgBitFactory/taskwarrior)](https://github.com/GothenburgBitFactory/taskwarrior/graphs/contributors)
[![Milestone progress](https://img.shields.io/github/milestones/progress/GothenburgBitFactory/taskwarrior/26?label=current%20milestone%20issues)](https://github.com/GothenburgBitFactory/taskwarrior/milestone/26)
[![Good first issus](https://img.shields.io/github/issues/GothenburgBitFactory/taskwarrior/good%20first%20issue)](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
[![GitHub Sponsors](https://img.shields.io/github/sponsors/GothenburgBitFactory?color=green)](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.

View File

@@ -32,6 +32,7 @@ elseif (${CMAKE_SYSTEM_NAME} STREQUAL "GNU")
set (GNUHURD true)
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "CYGWIN")
set (CYGWIN true)
set (_CXX14_FLAGS "-std=gnu++17")
else (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set (UNKNOWN true)
endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")

View 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 \- 2020 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.

View File

@@ -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 \- 2020 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.

View File

@@ -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 \- 2020 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.

View File

@@ -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 \- 2020 P. Beckingham, F. Hernandez.
Copyright (C) 2006 \- 2021 T. Babej, P. Beckingham, F. Hernandez.
This man page was originally written by Federico Hernandez.

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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
View 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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
View 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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
View 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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
View 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
View 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

View File

@@ -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 - 2020, 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

View File

@@ -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 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
###############################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
################################################################################
#
# Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
################################################################################
#
# Copyright 2006 - 2020, 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.

View File

@@ -8,26 +8,42 @@ services:
security_opt:
- label=type:container_runtime_t
tty: true
test-fedora28:
test-centos8:
build:
context: .
dockerfile: test/docker/fedora28
dockerfile: test/docker/centos8
network_mode: "host"
security_opt:
- label=type:container_runtime_t
tty: true
test-fedora29:
test-fedora31:
build:
context: .
dockerfile: test/docker/fedora29
dockerfile: test/docker/fedora31
network_mode: "host"
security_opt:
- label=type:container_runtime_t
tty: true
test-ubuntu1604:
test-fedora32:
build:
context: .
dockerfile: test/docker/ubuntu1604
dockerfile: test/docker/fedora32
network_mode: "host"
security_opt:
- label=type:container_runtime_t
tty: true
test-fedora33:
build:
context: .
dockerfile: test/docker/fedora33
network_mode: "host"
security_opt:
- label=type:container_runtime_t
tty: true
test-fedora34:
build:
context: .
dockerfile: test/docker/fedora34
network_mode: "host"
security_opt:
- label=type:container_runtime_t
@@ -40,6 +56,22 @@ services:
security_opt:
- label=type:container_runtime_t
tty: true
test-ubuntu2004:
build:
context: .
dockerfile: test/docker/ubuntu2004
network_mode: "host"
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: .
@@ -72,10 +104,10 @@ services:
security_opt:
- label=type:container_runtime_t
tty: true
test-arch180101:
test-arch:
build:
context: .
dockerfile: test/docker/arch180101
dockerfile: test/docker/arch
network_mode: "host"
security_opt:
- label=type:container_runtime_t

1
index.html Normal file
View File

@@ -0,0 +1 @@
Taskwarrior Docs

File diff suppressed because it is too large Load Diff

8510
performance/sample-text.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -1,7 +1,7 @@
#! /usr/bin/perl
################################################################################
##
## Copyright 2006 - 2020, 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 - 2020, 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",

View File

@@ -1,6 +1,6 @@
################################################################################
#
# Copyright 2006 - 2020, 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)

View File

@@ -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.
#
@@ -33,7 +33,7 @@
# set -g task_complete_attribute_modifiers yes
#
#
# Copyright 2014 - 2020, Roman Inflianskas <infroma@gmail.com>
# Copyright 2014 - 2021, Roman Inflianskas <infroma@gmail.com>
#
# 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 @@ 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

View File

@@ -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

View 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
View 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

View File

@@ -53,7 +53,7 @@ You should then be ready to go.
---
All four above mentioned files are
Copyright 2009 - 2020 John Florian
Copyright 2009 - 2021 John Florian
and are available under the MIT license.
For the full text of this license, see COPYING.

View File

@@ -4,7 +4,7 @@
" Maintainer: John Florian <jflorian@doubledog.org>
" Updated: Thu Dec 10 18:28:26 EST 2009
"
" Copyright 2009 - 2020 John Florian
" Copyright 2009 - 2021 John Florian
"
" This file is available under the MIT license.
" For the full text of this license, see COPYING.

View File

@@ -3,7 +3,7 @@
" Maintainer: John Florian <jflorian@doubledog.org>
" Updated: Wed Jul 8 19:46:20 EDT 2009
"
" Copyright 2009 - 2020 John Florian
" Copyright 2009 - 2021 John Florian
"
" This file is available under the MIT license.
" For the full text of this license, see COPYING.

View File

@@ -3,7 +3,7 @@
" Maintainer: John Florian <jflorian@doubledog.org>
" Updated: Wed Jul 8 19:46:32 EDT 2009
"
" Copyright 2009 - 2020 John Florian
" Copyright 2009 - 2021 John Florian
"
" This file is available under the MIT license.
" For the full text of this license, see COPYING.

View File

@@ -1,6 +1,6 @@
" Vim syntax file
"
" Copyright (c) 2014 - 2020 Taskwarrior Team
" Copyright (c) 2014 - 2021 Taskwarrior Team
" Copyright (c) 2009 - 2014 John Florian
"
" Permission is hereby granted, free of charge, to any person obtaining a copy

View File

@@ -1,6 +1,6 @@
#compdef task
#
# Copyright 2010 - 2020 Johannes Schlatow
# Copyright 2010 - 2021 Johannes Schlatow
# Copyright 2009 P.C. Shyamshankar
#
# Permission is hereby granted, free of charge, to any person obtaining a copy

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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");

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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

View File

@@ -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)

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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,41 @@ 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 = "";
if (! config.has ("context." + name + "." + kind) && kind == "read")
{
debug ("Specific " + kind + " context for '" + name + "' not defined. ");
if (fallback)
{
debug ("Trying to interpret old-style context definition as read context.");
contextString = config.get ("context." + name);
}
}
else
contextString = config.get ("context." + name + "." + kind);
debug (format ("Detected context string: {1}", contextString.empty() ? "(empty)" : contextString));
return contextString;
}
////////////////////////////////////////////////////////////////////////////////
bool Context::color ()
{
@@ -945,21 +1045,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 +1071,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 +1080,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 +1231,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.

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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&);

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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)

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2013 - 2020, 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 ("FILTER 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;
}
}

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2013 - 2020, 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

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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)

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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);

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2013 - 2020, 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 ());

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2013 - 2020, 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);

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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;

View File

@@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////
//
// Copyright 2006 - 2020, 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

Some files were not shown because too many files have changed in this diff Show More