Commit graph

512 commits

Author SHA1 Message Date
Paul Beckingham
5059897b50 Context: Code simplification 2015-08-14 16:31:57 -04:00
Paul Beckingham
ebecaf420e Debug: Display the final parse tree for rc.debug.parser=1. 2015-08-03 07:54:56 -04:00
Paul Beckingham
a604e14ea9 Context: GC now only called when the commands request it 2015-08-02 15:54:24 -04:00
Paul Beckingham
d9fc334098 Context: Added filter prep for write commands that don't instantiate Filter 2015-08-02 10:26:05 -04:00
Paul Beckingham
f5792a03fb Lexer: Captures minimumMatchLength for abbreviated attribute matching 2015-07-26 22:58:02 -04:00
Paul Beckingham
d0c4326af3 Lexer: Upgraded attributes vector to a map of name to type 2015-07-26 12:22:02 -04:00
Paul Beckingham
110aa489e4 Context: Dead code removal 2015-07-17 15:24:31 -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
076b2aaa95 CLI2: Fix bug where a second terminator (--) was stripped 2015-06-22 14:11:28 -04:00
Paul Beckingham
82021f46f7 Context: Converted from CLI::getLimit to CLI2 2015-06-21 23:03:09 -04:00
Paul Beckingham
dc5f9e38a6 Context: Convert some CLI calls to CLI2 2015-06-19 07:03:57 -07:00
Paul Beckingham
49e7196dec Context: Removed unused ::clear method 2015-06-17 14:24:14 -07: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
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
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
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
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
Paul Beckingham
e74c6963a9 C++11: Cleaned up program framework with range-based for 2015-05-11 17:50:53 -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
5af4579741 Priority: Converted 'priority' attribute to a UDA
- 'priority.long' and 'priority.short' formats now map to 'priority', and
  generate a warning.
- Man page updated.
- Converted priority urgency coefficients to UDA equivalents.
- Converted priority color rules to UDA color rules.
- Removed 'default.priority' support.
- Removed special sort handling for 'priority' field in Variant, added special
  UDA sort handling.
- Removed ColPriority.{h,cpp} source files.
- Removed asorted newly-unused variables.
- The 'show' command now highlights unused priority settings.
- Removed unused localized priority-relateѕ strings.
- Added legacy mapping for columns and sort columns for 'priority.long' and
  'priority.short' columns in report definitions.
- Removed priority color rules implementation.
- Removed obsolete tests for #860, #990, custom.priority_long.t.
- Updated various tests that set priority default, colors.
2015-04-04 19:30:33 -04:00
Paul Beckingham
29a09707f3 Variant: Implemented custom UDA sorting 2015-04-04 15:47:41 -04:00
Paul Beckingham
743cb92958 Context: Static initialize UDA sort order values 2015-04-04 14:50:38 -04:00
Paul Beckingham
690d9493f0 Build: Resolve some more compiler warnings 2015-03-29 18:03:36 -04:00
Wilhelm Schuermann
9e6c6ecb93 TW-1583: Invalid ID displayed after done/delete
- Fix completed/deleted tasks getting an ID when GC is going to be run,
  previously resulting in invalid IDs being displayed in reports that
  show non-pending tasks.

A side effect of this fix is that it is sometimes not possible to
filter by ID when running a report right after calling done/delete.
This problem existed before; this change makes it happen on the first
report instead of the second, so it is more consistently broken.
Commands that modify tasks are not affected, making this an annoying
yet harmless defect.
2015-03-28 10:36:58 +01:00
Paul Beckingham
104aeb3905 TDB2
- Commented and reorganized for threading.
2015-03-02 09:33:57 -05:00
Paul Beckingham
6626207ad1 TW-1522
- TW-1522 Date format doesn't like hyphens (thanks to Scott Carter).
2015-01-25 14:49:02 -05:00
Paul Beckingham
99ebf82c3a Context
- Eliminated fileno() by using unistd.h STDOUT_FILENO. This is because fileno()
  is not visible with '--std=c++11'.
2015-01-04 20:25:25 -05:00
Paul Beckingham
231e8ca913 Portability
- Missing include on Cygwin only.  Odd.
2015-01-04 20:17:56 -05:00
Paul Beckingham
b7ad091d00 Updated copyright to 2015 2015-01-01 00:00:41 -05:00
Paul Beckingham
dd7a9e32db Context
- Improved command line feedback.
2014-11-10 22:53:33 -05:00
Paul Beckingham
d5d60b672a Context
- Restored header if the 'information' command is assumed.
2014-11-10 22:15:53 -05:00
Paul Beckingham
97428397a5 CLI/Context
- Removed repeated header calls that display a reconstructed command line in
  the event that default.command is used.
2014-11-10 22:07:02 -05:00
Paul Beckingham
33bc4f13d0 Context
- Creates a set of entities for binary operators.
2014-11-09 15:19:57 -05:00
Paul Beckingham
3b1f244f42 CLI/Context
- Reordering init sequence.
- Removed ::assumeLocations.
2014-11-09 10:38:40 -05:00
Paul Beckingham
b9b998c769 CLI
- Added a strict analysis mode that throws errors. In non-strict mode no errors
  are thrown because parsing is incomplete most of the time, and only the final
  pass needs to be strict.
2014-11-08 14:00:39 -05:00
Paul Beckingham
11d210a7c7 CLI
- Hooked up the parser to rc.abbreviation.minimum.
2014-11-08 13:41:19 -05:00
Paul Beckingham
7ad99cb7fa Context
- Removed last calls to Parser::.
2014-11-02 22:19:20 -05:00
Paul Beckingham
9c245f838a CLI
- Implemented ::applyOverrides.
- Calls ::applyOverrides from Context.
2014-11-02 22:12:48 -05:00
Paul Beckingham
c8dfa8f7fd CLI
- Implemented ::getDataLocation.
- Called ::getDataLocation from Context.
2014-11-02 22:10:47 -05:00
Paul Beckingham
7845786398 Context
- Removed unused ::program member.
2014-11-02 21:52:41 -05:00
Paul Beckingham
9799fcefed CLI
- Updated ::getOverride to scan all args, display the debug feedback, and derive
  the home dir.
- Removed Parser::getOverrides calls from Context.
- Cleaned up dead code in Context::initialize.
2014-11-02 21:31:25 -05:00
Paul Beckingham
d49222e8c7 CLI
- Implemented ::getOverride, and updated Context to use it.
2014-11-02 21:14:08 -05:00