Commit graph

5184 commits

Author SHA1 Message Date
Paul Beckingham
addcbe15d5 CLI2: Removed unnecessary TW and CALENDAR tags 2015-06-14 14:21:55 -04:00
Paul Beckingham
c305768ed8 CLI2: Now relies on Lexer::Type::separator, rather than literal "--". 2015-06-14 14:14:27 -04:00
Paul Beckingham
078e9fe751 CLI2: Tagging the binary as 'ORIGINAL' is no longer useful 2015-06-14 14:13:51 -04:00
Paul Beckingham
e701d6d607 CLI2: Eliminated unused ::removeAttribute. 2015-06-14 14:13:02 -04:00
Paul Beckingham
d43ca96056 CLI2: aliasExpansion & argv[0] handling
- Added ::handleArg0 method to clean up ::analyze.
- Implemented ::aliasExpansion, which now applies to lexemes, not full command
  line arguments.
2015-06-14 09:28:20 -04:00
Paul Beckingham
de23fc3972 CLI2: Removed obsolete methods. 2015-06-14 09:13:39 -04:00
Paul Beckingham
1d4a532ea2 CLI2: Implemented ::findOverrides relying on Lexer::Type 2015-06-13 16:51:14 -04:00
Paul Beckingham
a433ca308a CLI2: Implemented A2::attribute for reading arg atts 2015-06-13 16:50:34 -04:00
Paul Beckingham
e159c838ad CLI2: All args lexed
- All arguments now lexed.
- A2::dump now includes Lexer::Type.
2015-06-13 16:36:26 -04:00
Paul Beckingham
92a9ce732c CLI2: Special handling of argv[0], and subsequent args 2015-06-13 16:34:24 -04:00
Paul Beckingham
7060c82767 CLI2: The ::analyze framework is in place
- Now the CLI2::analyze framework is in place, the new implementation of arg
  analysis can be built. This algorithm first stores added arguments as-is, then
  processes them into lexemes, relying on Lexer::Type. Any new arguments added
  invalidate prior analysis.
2015-06-13 15:16:43 -04:00
Paul Beckingham
59429e9af8 CLI2: Implemented A2::tag/hasTag 2015-06-13 15:09:20 -04:00
Paul Beckingham
657d5b8310 CLI2: Added CLI2::dump and A2::dump methods. 2015-06-13 15:01:20 -04:00
Paul Beckingham
50cd2968b9 CLI2: A2 now stores Lexer::Type. 2015-06-13 14:45:19 -04:00
Paul Beckingham
485899b0c5 CLI2: Begun ::analyze method
- Renamed A to A2, to avoid collisions for now.
- Added A2::attribute, ctor, dtor.
- Stubbbed CLI2::analyze.
2015-06-13 14:34:25 -04:00
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