Commit graph

1143 commits

Author SHA1 Message Date
Paul Beckingham
2f60bdf9d0 Bug #720
- Fixed bug #720, so that when the 'info' report renders total active time,
  it uses a lossless format (thanks to Bernhard B).
2011-08-23 22:15:00 -04:00
Paul Beckingham
1dc2257156 TDB2 Conversion
- Migrated several commands over to use TDB2.  Have to start somewhere.
2011-08-23 00:47:46 -04:00
Paul Beckingham
589627852f Duration Bug
- Removed the unnecessary ::getInt parse before ::getNumber, which was
  causing "-1.2d" to not parse.
- Removed verbose debug statement.
2011-08-21 23:32:37 -04:00
Paul Beckingham
7aa4efef8d Expression Refactor
- Refactoring complete.  Arg objects now uses enumerations for _type
  and _category, which should help with performance.
2011-08-21 01:06:50 -04:00
Paul Beckingham
7dd3e081c7 Bug #804 - URL link and break line
- Addressed bug #804 by allowing rc.hyphenate to control whether hyphens are
  inserted when long lines are broken.  This may help prevent xterm from
  mis-parsing URLs in task annotations, when wrapped (thanks to Yann Davin).
- Added unit tests.
2011-08-17 22:39:28 -04:00
Paul Beckingham
ee2960b9b0 Date/Duration Distinction
- When a date attribute is updated, the expression may have evaluated to
  a duration, which at this point is simply a number.  If it is below a
  certain threshold (5y) then it is considered a duration and added to
  'now', otherwise it is considered a date.
2011-08-16 23:50:26 -04:00
Paul Beckingham
ac9d1f3bfa Performance Timing
- Change the was performance measurements are taken.  This in preparation
  to automated daily perf charts, leading to efforts to speed up certain
  operations.
2011-08-15 21:53:01 -04:00
Paul Beckingham
ad38d5b92e Bug - File open issue
- If a file (pending.data) is open and locked, trying to open it again
  caused an error, whereas is now does nothing and reports success.
- Corrected timing info in Command::filter.
2011-08-14 21:23:01 -04:00
Paul Beckingham
06d54b2e72 Commands - Calendar
- Converted the 'cal' command to TDB2.
- Reinstated command line handling for 'cal' command, but realized there
  is a conflict with filters.  Filtering disabled for 'cal' until a good
  solution is found.
- Converted recur.cpp to use TDB2, which eliminates the file locking
  problems that occur when both TDB and TDB2 are in use at the same time.
  This will cause other issues until all commands are converted to TDB2.
2011-08-14 12:04:34 -04:00
Paul Beckingham
b1ad00313f TDB2 & CmdCustom
- Converted CmdCustom to use TDB2, which means that for the first time,
  2.0 is now optimizing data load based on filter characteristics.  This
  means that "task list" and "task next" etc are now *fast*.
- Improved diagnostics for TDB2, for debugging.
2011-08-14 12:00:10 -04:00
Paul Beckingham
f3f6cd260a E9 - Typo
- In one of the dumbest typos yet, I entered "fasle" instead of "false"
  and the copy/pasted it around.
2011-08-14 10:04:04 -04:00
Paul Beckingham
30034f057b Bug - A3::extract_modifications
- Broadened the list of argument categories that are downgraded to
  'word' for the purpose of task modification.
2011-08-13 16:24:07 -04:00
Paul Beckingham
e2a8f85a2f Task Refactoring
- Task is no longer a map of string to Att.  Att is itself a name/
  value pair, so the name was redundant.  Task is now a map of string
  to string.  This brings the obsoletion of Att much closer.
2011-08-07 22:41:25 -04:00
Paul Beckingham
6140f4af9d Columns - mask, imask, parent
- Implemented column objects for the mask, imask and parent attributes.
  Why not.
2011-08-07 02:58:43 -04:00
Paul Beckingham
cdda791c84 Command - import
- Implemented the import command, which only suports JSON.  It is
  the basis for all other import formats, which will be implemented
  as external scripts.
2011-08-07 02:10:50 -04:00
Paul Beckingham
e8a49b3e8e Commands - timesheet
- Added stubs for the start of a command rewrite, possibly.
2011-08-06 16:28:45 -04:00
Paul Beckingham
fb23bf73a3 Import
- Trying different methods of making this code cleaner.  Not working
  so far.
2011-08-06 16:27:38 -04:00
Paul Beckingham
ffa5bc43fe E9
- Working towards arg date/duration eval.
2011-08-06 00:59:14 -04:00
Paul Beckingham
e5ae145df2 Command - denotate
- Implemented denotate in the new style.
2011-08-02 00:56:29 -04:00
Paul Beckingham
cc51c50f84 Configuration
- Added support for rc.dom, which enables/disables DOM support.
2011-08-01 01:39:21 -04:00
Paul Beckingham
76760fe434 Command - show
- Fixed the show command to accept 'all' or a substring to search for
  in the configuration file.
2011-08-01 01:18:12 -04:00
Paul Beckingham
4a99723129 CmdShow
- Added 'json.array' to the list of allowed configuration variables.
2011-07-30 14:52:53 -04:00
Ben Boeckel
4f06e454a9 [PATCH] Add a missing trailing space
Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-29 22:37:05 -04:00
Paul Beckingham
ecfce5091e Burndown
- Modified burndown command to use the Y-Axis calculation from Ben Boeckel.
2011-07-29 22:31:58 -04:00
Paul Beckingham
402bac02a6 Legacy columns, formats
- Marked legacy columns and formats as deprecated.
2011-07-29 00:54:03 -04:00
Paul Beckingham
40a71e2aae Feature #811
- Added feature #811, which makes the 'execute' command optional, and
  controlled by '#define HAVE_EXECUTE 1' in cmake.h.  This allows a build
  that does not have the potential security hole, in the event that taskwarrior
  is run at elevated privilege, or run in the context of a web server.
2011-07-28 00:14:33 -04:00
Paul Beckingham
7e3a207d63 Bug #808
- Fixed bug #808, which generated compiler warnings on Solarix (thanks to
  Owen Clarke).
2011-07-26 21:40:31 -04:00
Paul Beckingham
0c08b29e48 Code Cleanup
- Eliminated obsolete Arguments.h, Arguments.cpp.
2011-07-26 00:25:57 -04:00
Paul Beckingham
ab8a6d9e88 Code Cleanup
- Eliminated Expression.{h,cpp}.  E9 now replaces it.
2011-07-25 23:53:41 -04:00
Paul Beckingham
83c0ea6ab2 E9
- Implemented the shell of E9::eval.
- Stubbed out operator_xxx helper methods.
2011-07-25 22:59:47 -04:00
Matt Kraai
0962b66928 Bug #803
- Here's a patch to make Taskwarrior not display the prompt and not delete the
  parent task if a recurring task is deleted when rc.confirmation is false.

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2011-07-24 21:48:09 -04:00
Paul Beckingham
56af60ceaf Arguments
- Converted from Arguments to A3.
2011-07-24 17:03:32 -04:00
Paul Beckingham
2f5bb14d33 Arguments
- Converted from Arguments to A3.
2011-07-24 17:01:28 -04:00
Paul Beckingham
5b0197300f Arguments
- Converted from Arguments to A3.
2011-07-24 16:55:32 -04:00
Paul Beckingham
852484beb2 Arguments
- Converted from Arguments to A3.
2011-07-24 16:50:58 -04:00
Paul Beckingham
67fb1e9be4 Expression reboot
- Downgraded A3::extract_words to return a simple vector of strings.
  Any more is unnecessary.
2011-07-24 16:44:05 -04:00
Paul Beckingham
94dfc68cca Expression reboot
- A3::tokenize recognizes strings, patterns, attr, ops, dates.
- A3::tokenize canonicalizes attributes.
2011-07-24 01:06:26 -04:00
Paul Beckingham
91225d808f Expression reboot
- A3 now tracks whether a command is read-only, and builds filters accordingly.
- Implemented extract_filter, extract_modfications and extract_words stubs.
- Removed all E9 implementation details - this is going to be written from
  scratch.
2011-07-23 23:39:11 -04:00
Paul Beckingham
abcda0bcfa Expression reboot
- More integration of A3 into Context.
- Now ready for filter/modification/word extraction.
2011-07-23 17:03:44 -04:00
Paul Beckingham
197524a5fc Expression
- Added configurable 'abbreviation.minimum' (default:2) setting to
  control how auto-completion works.
2011-07-20 10:51:13 -04:00
Paul Beckingham
09d94a0712 Expressions
- Eliminated the . prefix for DOM references to the current task - it is
  unnatural to state ".due < today".
- Prioritized parsing dates ahead of integers, which were masking all
  dates.
2011-07-19 00:25:26 -04:00
Paul Beckingham
dd75c1af1e Expressions
- Attribute values are now run through the expression evaluator.  This
  is good.  The evaluator fails.  This is bad, but progress has been
  made.
2011-07-17 15:33:09 -04:00
Paul Beckingham
137b00a14a Expressions
- Commented out troublesome "distance_from_command" code.
- Commented out DOM diagnostics, for now.
- Commented out TDB2 diagnostics, for now.
- Category "seq" arguments are now assigned type "exp".
- All type "exp" arguments are now tokenized.
2011-07-17 13:52:55 -04:00
Paul Beckingham
e08d840ba1 Expressions
- Broke out expression handling into two distinct flavors: filter
  and expression.  Filters need lots of preparation and mapping,
  which includes implicit 'AND' operators, expansion of syntactic
  sugar like /pattern/ etc and evaluate to a Boolean.  Expressions
  are simpler wiht less preparation, and evaluate to a Variant.
2011-07-17 12:04:38 -04:00
Paul Beckingham
05a53778ea Helper Command
- Implemented _columns to simply list all supported columns, in a
  machine-readable format.
2011-07-16 13:18:06 -04:00
Paul Beckingham
27a04b29f5 Feature #800
- Added feature #800, adding a new command 'columns' that lists all the columns
  available for custom reports, and includes their formatting options (thanks
  to T. Charles Yun).
2011-07-16 13:08:23 -04:00
Paul Beckingham
3a5370ddf1 Filters
- Implemented Command::filter_shortcut to detect when a filter begins
  with "status:pending" and skip the loading/parsing of completed.data.
- Removed obsolete att.t.cpp tests.
- Removed diagnostics from TDB2::TDB2 that were causing a segfault.
  I suppose there is no std::cout available during global ctors?
2011-07-14 00:46:01 -04:00
Paul Beckingham
424dc50a36 Command - install
- Temporarily removed CmdInstall from the build.  This is deferred
  until 2.1 or so, when extensions are supported.
2011-07-14 00:04:07 -04:00
Paul Beckingham
8827f9c978 TDB2
- Implemented CmdAdd.cpp and CmdLog.cpp using TDB2.
- Implemented simple append writes in TDB2.
- Modified CmdImport to accept and parse JSON.
- Added more const-ness in DOM, Expression and Task, to allow TDB2::get_tasks
  to return a const vector ref, which is a Very Good Thing.
- Corrected usage for the export command.
- Implemented Task::urgency as a call to Task::urgency_c, which is a const
  overload to allow urgency calculations (without caching) for const Task
  objects.
- Removed obolete code from TDB.
- Added lots of diagnostic output for TDB2 - it's annoying, but will be
  gone soon.
- Added mention in CmdHelp of the new <filter> and <modifications>
  syntax elements.  Needs more.
- Added Command::filter overload which uses TDB2.  Not in use yet.
2011-07-13 23:53:57 -04:00
Paul Beckingham
4d410972d4 Command Usage
- Enhanced CmdHelp by adding aliases.
- Corrected usage for CmdModify.
- Renamed CmdQuery --> CmdExport.
- Added an alias _query --> export.
2011-07-12 00:51:05 -04:00