Commit graph

9249 commits

Author SHA1 Message Date
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