Commit graph

5569 commits

Author SHA1 Message Date
Paul Beckingham
23786515f9 CLI2: Implemented simple argument capture, with no processing. 2015-06-13 14:13:19 -04:00
Paul Beckingham
ec5876d56b CLI2: Aliases captured.
- CLI2::alias now captures all alias definitions from Context::Config.
2015-06-13 14:02:18 -04:00
Paul Beckingham
22765a70cb CLI2: Entity capture.
- CLI2::entity now captures all the known entities, duplicating the processing
  in Context for now.
2015-06-13 13:57:53 -04:00
Paul Beckingham
96493db047 CLI2: Ctor/dtors enabled. 2015-06-13 13:53:35 -04:00
Paul Beckingham
5602413acd CLI2: Migrated static methods
- The old CLI object has three static methods that are used for extracting
  information from the command line before parsing takes place. These include
  rc.name:value and rc:value and code that applies those overrides to
  Context::Config. These methods are moved to CLI2 - being static it makes no
  difference where they reside.
- Context::initialize now calls the CLI2 versions only.
2015-06-13 13:44:54 -04:00
Paul Beckingham
ca90893216 CLI2: Static initialization of global settings. 2015-06-13 13:38:19 -04:00
Paul Beckingham
708ddd3804 CLI2: Refactoring CLI to rely completely on the Lexer 2015-06-13 13:35:34 -04:00
Wilhelm Schuermann
2e3b8c8c2a Plumbing: Move basic format() calls to templates
- format() is already using variadic templates, make use of a plain one
  to remove more code bloat.
2015-06-09 11:13:44 +02:00
Paul Beckingham
57133140fb Plumbing: Attempt at fixing the Cygwin missing std::to_string function. 2015-06-07 16:00:12 -04:00
Paul Beckingham
10eeb2566f Plumbing: Attempt at fixing the Cygwin missing std::to_string function. 2015-06-07 15:56:02 -04:00
Paul Beckingham
8a0bffc5b3 Merge branch '2.4.5' of ssh://git.tasktools.org/tm/task into 2.4.5 2015-06-07 15:34:52 -04:00
Paul Beckingham
2f1ca72334 Code: Improved comments regarding filters/args. 2015-06-07 15:34:33 -04:00
Wilhelm Schuermann
e95167a984 Plumbing: Use variadic templates for format()
- Use variadic templates, with a slight twist for properly supporting
  Taskwarrior's l10n strings.
- Adjust code that relied on implicit type conversion which led to
  problems with template instantiation.
- Move some functionality out of format() in order to keep it generic.
2015-06-07 20:54:02 +02:00
Paul Beckingham
f0fbdaf2c9 CLI: Removed silly object qualification context.cli.dump() -> dump() 2015-06-07 12:41:27 -04:00
Paul Beckingham
ae0a0f671a Cleanup: Removed obsolete args.cpp 2015-06-07 11:09:25 -04:00
Paul Beckingham
0d6df3c7aa CLI: Removed unused std::vectors. 2015-06-07 10:11:15 -04:00
Paul Beckingham
b89fe446b4 CLI: Documented need for further categorization. 2015-06-07 10:10:39 -04:00
Paul Beckingham
3dc7baa4ed CLI: Removed unused and eclipsed argument to ::addArg. 2015-06-07 10:02:00 -04:00
Paul Beckingham
7f763aacb9 CLI: Cleaned up and documented context filter code. 2015-06-07 09:52:58 -04:00
Paul Beckingham
490742284b Merge branch '2.4.5' of ssh://git.tasktools.org/tm/task into 2.4.5 2015-06-07 09:47:15 -04:00
Paul Beckingham
e1a03c4415 Context: Removed misleading comment. 2015-06-07 09:47:07 -04:00
Wilhelm Schuermann
ae692e07a6 Verbosity: Fix "project" info not showing
- Make "project" verbosity imply "footnote", since verbose project
  info is shown using footnotes.  Fixes failing test in verbose.t.
- Convert "verbosity" variable to std::set for increased readability.
2015-06-07 15:01:26 +02:00
Paul Beckingham
207048514d CLI: Removed overly complex handling of terminator in ::findOverrides. 2015-06-06 11:08:19 -04:00
Paul Beckingham
1281dfbf22 CLI: Removed redundant terminator scanning in ::initialize. 2015-06-06 11:02:42 -04:00
Paul Beckingham
61470d7820 CLI: Cleaned up overly complex use of 'terminated'. 2015-06-06 10:51:32 -04:00
Paul Beckingham
160f3672db Typo: Error in comment. 2015-06-06 10:38:23 -04:00
Wilhelm Schuermann
5105bd05f9 TW-1454: Redundant dependency should not stop modification 2015-06-05 23:57:48 +02:00
Wilhelm Schuermann
e4b9c1f01e Fix "task edit" dropping annotation text after newlines. 2015-06-05 22:25:48 +02:00
Renato Alves
21d5a7fbe8 Display the active context when listing known contexts 2015-06-04 20:14:14 +01:00
Wilhelm Schuermann
2ad3713e8c JSON: Fix memory leak in parser
- Fix JSON root object leaking out by using delete.
  This is by no means a comprehensive fix since exceptions are involved
  in a lot of places, but it does fix the memory leak in all cases
  checked in Taskwarrior's test suite.
- Going with a shared_ptr or unique_ptr here might be a better
  solution, but would involve more code changes.
2015-06-03 23:12:34 +02:00
Wilhelm Schuermann
5f8469269e Cleanup: Remove unused function
- Unused since 2010, removed in accordance with Paul's wishes.
2015-05-31 16:41:57 +02:00
Wilhelm Schuermann
f4361d5c65 Import: Reuse CmdModify's checks
- Make updating tasks with "task import" run the same checks and update
  the same things as "task modify" would.
2015-05-31 16:36:53 +02:00
Wilhelm Schuermann
9067194390 CmdModify: Reorganize code for reuse
- Get "modify" checks ready for reuse by CmdImport's newly added update
  support.
- No changes in functionality, code reorganization only.
2015-05-31 16:25:07 +02:00
Wilhelm Schuermann
2a56e41fa9 Import: Skip unchanged tasks
- Re-importing the same file will now lead to no task changes.
  Previously the "modified:" attribute got updated each time an
  already imported file was imported again.
2015-05-30 12:40:38 +02:00
Wilhelm Schuermann
9d6067e2fe TW-303: Make "task import" update existing tasks 2015-05-29 19:49:54 +02:00
Wilhelm Schuermann
5f61703588 TW-1432: start/stop can be issued on completed tasks
- Make "start" set status to pending from completed/deleted.
- Add test to "start_NEW.t", which is to be combined with start.t once
  converted from Perl.
2015-05-28 10:11:12 +02:00
Wilhelm Schuermann
a78c9a6eb8 TW-1440: Implement "task import" from STDIN
- Read tasks from STDIN when no files are specified, or only "-"
  is specified.
2015-05-25 16:47:37 +02:00
Paul Beckingham
3e043291f0 Cleanup: Combined File, Path and Directory into FS
- The three objects are related and always travel together, so they are now
  combined.
2015-05-25 10:11:41 -04:00
Paul Beckingham
ff88d9da16 Bug: ::execute concatenates output
- The ::execute function concatenates output to the std::string provided, which
  is almost never wanted. Now it clears first.
2015-05-25 09:22:14 -04:00
Paul Beckingham
8fd1bb630d Code: Formatting cleanup 2015-05-25 09:21:58 -04:00
Paul Beckingham
e8d04bdce6 C++11: N1984 auto 2015-05-24 13:36:26 -04:00
Paul Beckingham
7bbc794d3a C++11: N2672 Initializer lists
- Modified code to use the more compact and readable initializer lists.
2015-05-24 13:03:02 -04:00
Wilhelm Schuermann
49f7612704 TW-1572: Implement better urgency inheritance
- Implement recursive urgency inheritance.  If this is to be made a
  default setting, some thought will have to be put into making it
  more efficient.
2015-05-22 23:01:21 +02:00
Wilhelm Schuermann
8800ad33cf Util: Minor formatting cleanup of execute() 2015-05-13 20:59:59 +02:00
Paul Beckingham
e74c6963a9 C++11: Cleaned up program framework with range-based for 2015-05-11 17:50:53 -04:00
Paul Beckingham
5a57dfd70d C++11: Cleaned up commands code with range-based for 2015-05-11 17:45:15 -04:00
Paul Beckingham
bd3d58484a C++11: Cleaned up column code wiht range-based for 2015-05-11 17:33:20 -04:00
Paul Beckingham
7293de75b0 TW-1608: The recur/recurring report shows tasks without a recur interval
- Lexer needed additional lookbehind criteria for ::isTag (thanks to Brad
  Collette).
2015-05-09 21:27:48 -04:00
Wilhelm Schuermann
710372b8db TW-1610: Disabling GC can lead to editing the wrong task
- 9e6c6ecb93 introduced a change that
  can lead to the wrong task being edited when GC is manually turned
  off.  Fix this by taking the user's GC setting into account.
2015-05-04 09:01:01 +02:00
Paul Beckingham
b6b49ca7e4 Docs: Added comment to prevent changes 2015-05-03 10:54:52 -04:00