- Implemented sync over TLS.
- Obsoleted the Socket code, replacing it with TLSClient, TLSServer.
- Added task server details to the 'diagnostics' command output.
- 'rc.debug.tls' controls the GnuTLS log level.
- Removed redundant cmake diagnostics.
Commit 968d1c3 (Portability) introduced a bug with some very POSIX
compliant shells (eg dash), which don't do brace expansion. So add a
test for that.
The test runs by adding a new protocol in Uri, sh+cp://path/. This
protocol is not intended to be used normally, but is only for testing
the push and pull code.
Signed-off-by: Russell Steicke <russells@adelie.cx>
- Cleaned up existing extension debris, in anticipation of the new mechanisms to
be included in future releases. This includes install/uninstall and a full
set of triggers.
- Added GnuTLS discovery, linking.
- Added '+/-tls' indicator to diagnostics command.
- Added libgnutls version number to diagnostics command.
- Renamed wcwidth6.c to wcwidth6.cpp, to eliminate a strange build error.
- The A3::Arg object is very similar to the E9::Term object, so the two are
being merged. First step is to separate A3::Arg into it's own space, then
add a _type member.
- Added more valid stop characters as terminators for various arg types.
- Removed redundant E9 special handling for dates, which is already built in
to the Date object.
- Created A3.{h,cpp} which will be a simpler, lightweight version of
Arguments.{h,cpp} that does less, but does it better.
- Created E9.{h,cpp} which will be a better implementation of
Expression.{h,cpp} that does less, but does it better.
- Integrated A3 into Context::initialize, and Arguments and A3 will
coexist until A3 surpasses Arguments.
- Implemented RegX class to maintain a separate compile, and match
method, thereby allowing efficient re-use of the regex. This is
critical to Expression::eval, where an identical regex might be
applied to every task.
- Obsoleted rx.{h,cpp}, which combined the compile and match steps
into a single call, and is therefore not efficient when used in
the context of filtering.
- Fixed some unit tests that weren't building. Now they do. They
don't work of course (don't be silly) but that's a problem for
another day.
- Modified all code that relies on rx.h to use RegX.h.
- Implemented Arguments::extract_read_only_filter to isolate the
arguments that pertain to read-only command filters
- Implemented Arguments::extract_write_filter to isolate the arguments
that pertain to write command filters.
- Implemented Arguments::extract_modifications to isolate the arguments
that pertain to write command modifications.
- Created stubbed Expression object.
- Began integration of Expression and Arguments into commands/CmdCustom.
- Eliminated stored arg_overrides and file_override in Context.
- Removed Filter, Subst, Task, Sequence from Context.
- Remove shadow file support. Hallelujah.
- Disabled/commented out most commands, ready for the big transition
to the new parsing style.
- Obsoleted Subst.{h,cpp}.
- Obsoleted Cmd object.
- Removed Context::dispatch, renamed dispatch2 --> dispatch.
- Commented out import and custom report functionality that depends
on Cmd. This should be about as broken as taskwarrior gets. It's
all uphill from here.
- Integrated ViewTask and ViewText completely.
- Obsoleted Table.{h,cpp}, Grid.{h,cpp}, grid.t.cpp
- Fixed ViewTask rendering bug that caused the full width to be used every time.
- Broke out View into ViewTask and ViewText, where the former uses an
external std::vector <Task> as storage, thus eliminating the additional
copy, and the latter that duplicates data and color into 2D vectors
for rendering non-task data.