Commit graph

4354 commits

Author SHA1 Message Date
Paul Beckingham
e4ab3574e4 CmdCalendar: Converted from CLI::_args[0] to CLI2::_original_args[0] 2015-06-14 22:33:09 -04:00
Paul Beckingham
31fb7726c0 Hooks: Converted from CLI to CLI2 2015-06-14 22:29:23 -04:00
Paul Beckingham
a6c99f3ba5 CLI2: Added ::getCommand 2015-06-14 20:54:01 -04:00
Paul Beckingham
75028f6ad9 DOM: Converted to CLI2::canonicalize 2015-06-14 20:51:21 -04:00
Paul Beckingham
ee03261573 DOM: Converted DOM 'context.args' to use CLI2 2015-06-14 20:50:24 -04:00
Paul Beckingham
ddf44de23d DOM: Converted to use CLI2 2015-06-14 20:45:25 -04:00
Paul Beckingham
323674b08d CLI2: Added ::getBinary 2015-06-14 20:45:06 -04:00
Paul Beckingham
f59724297f CLI2: Added ::defaultCommand 2015-06-14 17:49:16 -04:00
Paul Beckingham
81844753fd CLI2: Removed unused include 2015-06-14 17:48:41 -04:00
Paul Beckingham
778bd4ae2f CLI2: Simplified A2::dump by removing useless node name 2015-06-14 17:47:53 -04:00
Paul Beckingham
68ac07080c CLI2: ::findCommand now return a bool indicating what happened. 2015-06-14 17:45:18 -04:00
Paul Beckingham
9af18183c9 CLI2: Eliminate useless ::disqualifySugarFree 2015-06-14 16:46:38 -04:00
Paul Beckingham
0aff903024 CLI2: Simplified all parsing by removing terminator considerations 2015-06-14 16:39:03 -04:00
Paul Beckingham
2cab600674 CLI2: Added ::handleTerminator
- CLI2::handleTerminator removes all terminator arguments it finds
  and downgrades all subsequent arguments to Lexer::Type::word. This
  simplifies all further processing.
2015-06-14 16:33:34 -04:00
Paul Beckingham
370df8e07f CLI2: Added A::A default ctor 2015-06-14 16:32:44 -04:00
Paul Beckingham
d1e7537e76 CLI2: Simplified ::findCommand 2015-06-14 15:38:27 -04:00
Paul Beckingham
cacc427cbd CLI2: ADded ::findCommand. 2015-06-14 15:29:40 -04:00
Paul Beckingham
9d5a10bd89 CLI2: Added ::lexArguments to perform *all* lexing 2015-06-14 15:27:05 -04:00
Paul Beckingham
ab367145c6 CLI2: Added ::exactMatch. 2015-06-14 15:11:21 -04:00
Paul Beckingham
ad69f84794 CLI2: Added ::canonicalize 2015-06-14 15:05:03 -04:00
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