Commit graph

4354 commits

Author SHA1 Message Date
Paul Beckingham
f5ece63ec0 CLI2: Removed obsolete ::decomposeModAttributes 2015-07-05 16:29:54 -04:00
Paul Beckingham
460f2aeea5 CLI2: Refactoring
- Whenever A2::attribute sees 'raw' being set, it automaticall decomposes the
  arg, which can now be removed from other methods.
- New ::canonicalizeNames method means that the ::decomposeMod* methods are no
  longer needed.
- Removed ::findOverrides which now does nothing.
2015-07-05 16:13:56 -04:00
Paul Beckingham
0df1c48f42 ISO8601: Added range checking for various date elements 2015-07-05 15:29:41 -04:00
Paul Beckingham
0c568580b3 CLI2: Removed obsolete ::isUUIDList
- Removed unsupported UUID lists, which shoudl have been removed earlier when
  Lexer::Type::list was dropped.
- Reversed logic in 'if' statements to perform the lowest cost comparison first.
2015-07-05 10:39:34 -04:00
Paul Beckingham
184fde0f5f CLI2: Skips first terminator, --, but not others 2015-07-04 16:39:15 -04:00
Paul Beckingham
b0c8f4ca4f ISO8601: Restored support for the UTC & local non-extended full form 2015-07-04 16:04:03 -04:00
Paul Beckingham
a7982e434a CLI2: Quoted Lexer::Type::pair args are maximal 2015-07-04 15:33:44 -04:00
Paul Beckingham
1836ac29e2 Lexer: Removed expermental code, didn't help 2015-07-04 15:03:28 -04:00
Paul Beckingham
3b99559216 Lexer: Added standalone token support
- Added default ctor.
- Added ::token method for classifying whole tokens.
- Stubbed token classifier methods.
2015-07-04 11:38:09 -04:00
Paul Beckingham
4141215d4b Lexer: Clarified ::isTag lookbehind rules 2015-07-04 10:48:44 -04:00
Paul Beckingham
ad17ad82dd Lexer: Removed obsolete method def 2015-07-04 10:34:16 -04:00
Wilhelm Schuermann
c1a0370daa Config: Make json.array default to "on"
- This makes the default "export" output work out of the box with most
  JSON parsing libraries.
2015-07-03 23:42:18 +02:00
Paul Beckingham
796a26cad8 CLI2: Simplified ::lexArguments
- ::lexArguments no longer lexes arguments into multiple tokens, instead it
  simply assigns the type, if the argument is a single token.
2015-07-01 21:49:31 -04:00
Paul Beckingham
bce24da6a5 CLI2: Eliminated unnecessary ::findTerminator 2015-07-01 21:47:19 -04:00
Paul Beckingham
f33da18789 Lexer: Removed ::isList and Lexer::Type::list - not needed 2015-07-01 18:04:21 -04:00
Paul Beckingham
a2874f7f10 CLI2: Added more logic to ::lexArguments 2015-07-01 18:03:43 -04:00
Paul Beckingham
1b83734392 CLI2: Added ::demoteDOM to demote unrecognized DOM args to words 2015-07-01 18:02:48 -04:00
Paul Beckingham
2402ec8d6e ISO8601: Removed the need for ::ambiguity 2015-07-01 17:59:27 -04:00
Paul Beckingham
6276241ef0 Eval: Removed ::ambiguity 2015-07-01 17:54:36 -04:00
Paul Beckingham
987fab388d CmdCalc: Removed Eval::disambiguity 2015-07-01 17:53:44 -04:00
Paul Beckingham
f0d27dcaac Filter: Removed Eval::disambiguity 2015-07-01 17:53:09 -04:00
Paul Beckingham
a0fbde294a calc: Removed Eval::disambiguity. 2015-07-01 17:52:51 -04:00
Paul Beckingham
b7519bb550 Task: Removed Eval::ambiguity. 2015-07-01 17:52:34 -04:00
Paul Beckingham
b090c6bccf Lexer: Removed unnecessary ::ambiguity method 2015-07-01 16:18:28 -04:00
Renato Alves
535fc1c465 l10n: "account not enabled" is now "account doesn't exist"
As of taskd 1.1.0 this option is no longer available, hence it's only
valid for 1.0.0 servers.
Since 1.1.0 is replacing 1.0.0 and has been adopted by recent linux
distributions, the error message no longer needs to refer to account
activation.
2015-06-30 21:47:15 +01:00
Paul Beckingham
5d02291077 Merge branch '2.4.5' of ssh://git.tasktools.org/tm/task into 2.4.5 2015-06-30 07:54:22 -04:00
Paul Beckingham
12bec38f12 Filter: Typo (thanks to Peter Rochen) 2015-06-30 07:53:26 -04:00
Paul Beckingham
86ed232348 Lexer: Added ::wasQuoted to determine original quote state 2015-06-28 12:35:06 -04:00
Paul Beckingham
ba65fa67b1 CLI2: ::aliasExpansion now properly observes and propagates TERMINATED args 2015-06-28 00:33:17 -04:00
Paul Beckingham
8cc75693a0 CLI2: Some args must avoid lexing
- This now include rc:xxx and rc.xxx.
2015-06-27 23:34:03 -04:00
Paul Beckingham
4820bde41e CmdCalc: Eliminated temporary storage 2015-06-27 23:08:56 -04:00
Paul Beckingham
358223a6b1 Filter: Corrected implementation of ::safety 2015-06-27 21:08:24 -04:00
Paul Beckingham
f96a42d8b0 Feature: Error on virtual tag modification attempt
- An attempt to add or remove a virtual tag is now an error (thanks to Scott M).
2015-06-27 18:39:50 -04:00
Paul Beckingham
1824a542f6 CLI2: Obey the terminator and skip Lexing 2015-06-27 17:35:15 -04:00
Paul Beckingham
37e41effde L10N: Removed 'permanently' from deletion notification
- Deletion is not really permanent (thanks to smemsh).
2015-06-27 15:59:02 -04:00
Paul Beckingham
b67b2ccc96 CLI2: Added ::addContextFilter, and supporting processing 2015-06-27 15:53:24 -04:00
Paul Beckingham
4b8fdd0fbe ISO8601: Removed non-extended forms
- Removed support for non-extended forms, which is approximately half of the
  formats.  These include:
    YYYYMMDD
    YYYYWww
    YYYYWwwD
    hhmmѕsZ
    hhmmZ
    hhZ
  and combinations thereof. Essentially all forms that contains run-on sequences
  of integers, without separators. These removed forms will still be supported
  via rc.dateformat.
- Removed unsupported forms from iso8601d.t.cpp.
- Removed unsupported forms from datetime-negative.t, and corrected the tests
  that now succeed.
2015-06-27 13:48:42 -04:00
Paul Beckingham
fcfc1d1a31 ISO8601: Removed ambiguous format support
- Disallows 2-digit times, such as 14 (2pm).  Now requires at least minutes
  included as well. This is likely to need further review, and possible dropping
  of all non-extended date forms (hhmmss, yyyymmdd), otherwise there will always
  be confusion between ID, UUID and ISO8601 dates.
- Removed 2-digit time tests.
2015-06-25 23:20:59 -04:00
Paul Beckingham
88b1707b58 CLI2: Commented out implementation of ::desugarFilterPlainArgs
- The algorithm is wrong, and it misidentfies solitary search patterns.
2015-06-24 21:29:56 -04:00
Paul Beckingham
9dcd52fc5b CLI2: Inhibit the identification of IDs if preceeded by an operator 2015-06-24 20:59:27 -04:00
Paul Beckingham
dfe6927f14 CLI: Code removed 2015-06-24 16:33:07 -04:00
Paul Beckingham
737cb23546 CLI2: Eliminated CLI
- This is a large commit, as all the changes are centered around the elimination
  of CLI.
- CLI is no longer compiled.
- Context no longer maintains CLI + CLI2.
- Filter now walks the parse tree and sends to Eval a
  std::vector <std::pair <std::string, Lexer::Type>> containing only args tagged
  with FILTER.
- Filter more efficiently sets/unsets Eval::debug, by doing it less often.
- The filterExpr.length() check is no longer meaningful, and instead the size of
  the std::vector above is used.
- Filter::pendingOnly performs better analysis.
- Filter::safety makes use of the std::vector size also.
- Task::modify makes use of 'canonical' rather than 'name', which is a policy
  change, not a fix.
2015-06-24 13:23:56 -04:00
Paul Beckingham
183550a190 CLI2: Unrecognized Lexer::Type::pair args are now downgraded to Lexer::Type::word 2015-06-24 13:06:20 -04:00
Paul Beckingham
de93c63535 Lexer: Not longer considers ( ) part of a contiguous token 2015-06-24 12:47:24 -04:00
Paul Beckingham
d9bcbdee0a Lexer: Added ::isContiguous for word-like matching 2015-06-22 21:34:57 -04:00
Paul Beckingham
449d577cca CLI2: Moved all the ::desugar* methods after the single-arg manipulations 2015-06-22 21:21:26 -04:00
Paul Beckingham
960d2be06d Task: Added a Lexer::dequote to values 2015-06-22 16:29:56 -04:00
Paul Beckingham
1cf07cd6fb CLI2: Fixed bug in UUID filtering
- When filtering by UUID, the expression listed the 'uuid' attribute as a type
  Lexer::Type::string, which should have been Lexer::Type::dom.
2015-06-22 16:20:22 -04:00
Paul Beckingham
4b68fea674 CLI2: Fixed bug in ::findCommand
- If an argument is an exact match for a command ('projects'), it is a command.
- If an argument is not an exact match for command ('project'), but is an exact
  match for an attribute, it is not a command.
- If an argument fails the above tests, but canonicalizes to a command, it is a
  command.
2015-06-22 16:01:01 -04:00
Paul Beckingham
a541156cec CLI2: Added support for write commands specifїgin ID/UUID *after* CMD 2015-06-22 14:48:17 -04:00