Commit graph

268 commits

Author SHA1 Message Date
c6d0e37629 Fix formatted output, use seperator for lists
The formatted output should use ", " as seperator for lists of values
2018-04-06 14:26:46 +02:00
14fc6c7c7f Add format argument 2018-04-06 14:24:30 +02:00
8c1b4124c0 Handle unknown subcommands in binaries with Runtime::handle_unknown_subcommand 2018-04-04 19:34:13 +02:00
bcdfe3ceea Use variable mutable, so we can create an instance 2018-03-22 21:32:58 +01:00
00d485c3d3 Add parameter to show done habits 2018-03-22 14:36:51 +01:00
e755bfd9de Add JSON output support 2018-03-12 17:46:06 +01:00
6ec509709d
Merge pull request #1336 from matthiasbeyer/imag-contact/find-show
imag-contact: Add "find" command
2018-03-12 17:07:11 +01:00
cbe30fa9c2 Add "find" command
This patch adds a "find" command to imag-contact which can either list
or show the found contacts (defaults to "list").
2018-03-12 15:23:37 +01:00
af4fadf104 Join mails with comma 2018-03-12 14:46:24 +01:00
ee6e766c8d Use generate_runtime_setup() to create Runtime object 2018-03-04 13:57:44 +01:00
50461b839a Use output stream from Runtime::stdout() 2018-03-04 13:57:44 +01:00
f88884c321
Merge pull request #1321 from matthiasbeyer/libimagdiary/not-on-retrieve-for-module
libimagdiary: Do not rely on Store::retrieve_for_module
2018-03-03 13:53:18 +01:00
eccb52a85c Fix imag-log for new Diary::entries() interface 2018-03-02 23:27:20 +01:00
cedbaf1b5c Add "daily" support 2018-03-02 23:10:53 +01:00
776e1dac91 Fix: Hourly/Minutely should set minute/second to zero 2018-03-02 23:10:53 +01:00
affd15a890 Rewrite imag-diary for new Diary::entries() interface 2018-03-02 21:28:40 +01:00
c2b754dbec
Merge pull request #1303 from matthiasbeyer/imag-diary/fix-list-diary-name-passing
Fix order of evaluation
2018-02-20 18:37:55 +01:00
0cde88d661 Fix order of evaluation
We need to evaluate the commandline argument first and if there is none,
we use the default.

This patch fixes that bug.
2018-02-20 17:27:42 +01:00
027c4b3287 Remove usage of libimagentrylist 2018-02-20 15:02:46 +01:00
9ced9008b5 Refactor imag-contact for new libimagentryref API 2018-02-19 12:15:40 +01:00
427ad89e55 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
849229eec6 Fix broken pipe panics 2018-02-19 11:14:19 +01:00
e501f66dac Fix broken pipe panics 2018-02-19 11:14:19 +01:00
23e0f720e5 Fix broken pipe errors 2018-02-19 11:14:18 +01:00
876c1cb9af Fix broken pipe panics 2018-02-19 11:14:18 +01:00
5e78a43242 Fix for broken pipe panics 2018-02-19 11:14:18 +01:00
c2dfb2ef52 Refactor timetrack subcommands output for broken pipe errors 2018-02-19 11:14:18 +01:00
6a341d3723 Abstract exit code as a type 2018-02-19 11:14:18 +01:00
eb2f6fbbe2 Fix for broken pipe errors 2018-02-19 10:40:26 +01:00
013fc75d85 Fix output for broken pipe errors 2018-02-19 10:40:26 +01:00
b586e13a98 Add timewarrior import script 2018-02-18 20:03:50 +01:00
10e7a82a45 Refactor imag-diary 2018-02-18 20:03:50 +01:00
b61547c2d1 Add debug output what is about to be done 2018-02-18 20:03:50 +01:00
3341e3640c
Merge pull request #1224 from matthiasbeyer/git-version-in-version
Git version in version
2018-02-18 20:03:09 +01:00
9469693763 Use new make_imag_version!() macro for building version string 2018-02-13 11:38:34 +01:00
94cad804e1 Use ErrFromStr convenience extension 2018-02-12 21:25:51 +01:00
63f2c70bed Fix imag-notes for new error interface 2018-02-12 21:19:48 +01:00
8128d3ade9 Fix imag-mail for new error interface 2018-02-12 21:19:48 +01:00
ee23f432de Fix imag-contact for new error interface 2018-02-12 21:19:48 +01:00
86abfb88a4 Fix imag-bookmark error handling 2018-02-12 21:19:48 +01:00
ba1c6c06fa Add error chaining for compatibility with new libimagerror interface 2018-02-12 21:19:48 +01:00
7892782675 Refactor error handling 2018-02-12 21:19:48 +01:00
b9800e19e9 Refactor imag-diary to use new error handling interface 2018-02-12 21:19:48 +01:00
77be32d80f Remove "get" iterator, store provides this now 2018-02-11 23:44:27 +01:00
cf0f93104d Add kairos support in "list" subcommand
This patch adds kairos support in the "list" subcommand for the "-f" and
"-t" parameters which limit the entries to show.

Something like

    imag timetrack list --from yesterday

is now possible.
2018-02-11 21:27:15 +01:00
30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +01:00
fa8af0c053
Merge pull request #1275 from matthiasbeyer/clap-features
Clap features
2018-02-11 13:29:17 +01:00
7f4cdced4a
Merge pull request #1262 from matthiasbeyer/do-not-print-ok
Do not print "Ok" after successful execution
2018-02-10 21:22:12 +01:00
9f48071e48 Do not print "Ok" after successful execution 2018-02-10 16:41:27 +01:00
2dfede240e Alias subcommand "show" to "list" 2018-02-10 16:41:20 +01:00
8656a38c50 Update dependency: clap: 2.17 -> 2.29 2018-02-10 16:40:34 +01:00
9d2900a7dc Compile clap with suggestions and color support 2018-02-10 16:40:34 +01:00
3b710e082d Add missing Cargo.toml metadata 2018-02-10 14:11:46 +01:00
d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
864e457dce
Merge pull request #1259 from matthiasbeyer/imag-log/no-leading-space
Do not put a leading space in the log
2018-02-06 23:29:22 +01:00
da74896248
Merge pull request #1258 from matthiasbeyer/imag-log/dont-list-non-log-entries
Do not list entries which are not "log" entries
2018-02-06 22:39:13 +01:00
88b7b43d2c Do not put a leading space in the log 2018-02-06 20:54:11 +01:00
f44f13e23a Do not list entries which are not "log" entries 2018-02-06 20:48:47 +01:00
97e613d8c5 Use libimagstore get iterator
Use libimagstore infrastructure to transform iterator in
StoreIdGetIterator for getting entries from store.
2018-02-06 20:41:13 +01:00
3b138ba881
Merge pull request #1231 from matthiasbeyer/update-kairos
Update kairos dependency: 0.1.0-beta-2 -> 0.1.0
2018-02-05 17:30:55 +01:00
e2e3b4f6e2 Update kairos dependency: 0.1.0-beta-2 -> 0.1.0 2018-02-05 16:20:05 +01:00
d1fc8c3995 Add second support in imag-diary commandline interface 2018-02-04 19:51:07 +01:00
da4b823048
Merge pull request #1219 from matthiasbeyer/minor
Minor patches
2018-02-01 13:18:31 +01:00
4d94791b1f Move date <-> string conversion utility to libimagutil 2018-02-01 09:26:33 +01:00
30ef3bf0d3 Comment type fixed 2018-01-29 09:38:32 +01:00
7731b88c97 Remove map_err_trace_exit() calls in favour of map_err_trace_exit_unwrap() 2018-01-29 09:38:32 +01:00
82b67115e6 Refactor: Minify
Pull in new dependencies for minification
2018-01-29 09:38:32 +01:00
74f58d6c06 Remove unused imports 2018-01-29 09:38:32 +01:00
53bf1a513b Implement stopping all tags which are started 2018-01-28 20:51:20 +01:00
3735fbac2f
Merge pull request #1166 from matthiasbeyer/log-0-4-0
Dependency update: log 0.4.0
2018-01-18 15:40:50 +01:00
45ac9b4132 Change list command to use a table for output 2018-01-16 14:48:48 +01:00
635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
5beadbbf5b Call default command if no command is passed 2018-01-13 14:36:31 +01:00
284f12e8cb Refactor: Split actual list implementation from argument processing 2018-01-13 14:36:31 +01:00
47e98675e7 imag-todo: Replace read with typed read 2018-01-13 01:14:03 +01:00
55d97e565d imag-log: Replace read with typed read 2018-01-13 01:14:03 +01:00
f0e8e89c15 imag-contact: Replace read with typed read 2018-01-13 01:14:03 +01:00
137680498c imag-bookmark: Replace read with typed read 2018-01-13 01:14:03 +01:00
0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
bfc35e0517 Remove dependency "version"
Because the "version" crate is licensed as GPL, which would us require
to release imag as GPL, we remove the crate now.
2018-01-12 13:33:40 +01:00
95e861b5ca Adapt for new API 2018-01-08 15:16:14 +01:00
a6fd525c0f Add "show" functionality 2018-01-03 21:09:03 +01:00
3cf1fd0baf Add CLI implementation 2018-01-03 16:54:08 +01:00
7a364639ee Initial import: imag-log 2018-01-03 16:54:08 +01:00
3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
05a630f943 Change UI. Positional args are not possible here 2017-12-22 14:40:01 +01:00
6a7e7f0f12 Add functionality so we can create a habit with a due date 2017-12-22 14:40:01 +01:00
df16d0737e Adapt for new API of Habit::next_instance_date()
With cd8f0beae8
the interface of `HabitTemplate::next_instance_date()` changed to return
a `Result<Option<_>>` rather than a `Result<_>` because the
next_instance_date could be a None if the Habit was closed already.

This patch adapts imag-habit for this new interface.
2017-12-22 14:40:01 +01:00
501f67dcf2 Add more output in today() 2017-12-22 14:40:01 +01:00
496850a762 Add future-check in CLI and fix for default command invokation 2017-12-22 14:40:01 +01:00
39a983f6fb Add more details to default command 2017-12-22 14:40:01 +01:00
7cf46f99d4 Add done functionality 2017-12-22 14:40:01 +01:00
b78095d8bc Impl delete() 2017-12-22 14:40:01 +01:00
ff39a450b1 Explicitely state that printing an empty table is forbidden 2017-12-22 14:40:01 +01:00
404d839310 Make "today" the default command 2017-12-22 14:40:01 +01:00
0fa1ae28f8 Let "today" command list upcoming habits 2017-12-22 14:40:01 +01:00
5574764d83 Add a subcommand to list habits due today 2017-12-22 14:40:01 +01:00
2520635cae Add support for listing the next date when the habit must be done 2017-12-22 14:40:01 +01:00
6e7414a2fd Implement show() 2017-12-22 14:40:01 +01:00
915b1325d2 Implement list() 2017-12-22 14:40:01 +01:00
528b30c1ff Implement create() 2017-12-22 14:40:01 +01:00
d1848e9186 Add CLI spec 2017-12-22 14:40:01 +01:00
be79f6373e Import crate for imag-habit 2017-12-22 14:40:01 +01:00
04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
521d661f1c Fix path 2017-11-09 11:21:17 +01:00
00c73d53c7 Phone and email information is in the person table 2017-11-09 11:21:17 +01:00
c8a8bdcd22 Fix format and location of content 2017-11-09 11:21:17 +01:00
c90d0ab34a Fix UUID-Filename creating, add debug output 2017-11-09 11:21:17 +01:00
296136fca5 Add tests 2017-11-09 11:21:17 +01:00
524df37ca6 Add parsing of personal information: Birthday 2017-11-09 11:21:17 +01:00
794efb0034 Outsource functional part for testability 2017-11-09 11:21:17 +01:00
e211aba341 Implement create subcommand
The complexity of the create() routine justifies the move to another file.

This commit implements the create() functionality which creates a TOML
tempfile which the user should edit and then reads the contents to build
the Vcard object which then gets written to either stdout or the
destination file.

Besides that:

* Move helper function to util module
* Rewrite and fix tests
2017-11-09 11:20:32 +01:00
ab8c8e4e41 Add new required dependencies 2017-11-09 11:19:17 +01:00
d0ec7e26dc Add implementation for imag-contact
* Implement contact listing with formatting via commandline or config
* Implement importer functionality for contact
* Implement "show" subcommand
* imagrc.toml: Add explanation which fns are supported in templates
2017-11-09 11:19:17 +01:00
0540ae9392 Initial import of imag-contact 2017-11-09 11:15:04 +01:00
9308c05057 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
1dda98e17e Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01:00
b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01:00
758166637b Update toml-query: 0.3.* -> 0.4
This update is needed for the error-chain update, as the toml-query
0.4.0 release also bumps this dependency.
2017-10-12 22:13:04 +02:00
3ed9c1fcc8 Merge pull request #1131 from matthiasbeyer/libimagerror/trace-and-unwrap-helper
Add helper for tracing error and exit or unwrap the value
2017-10-12 22:08:48 +02:00
815cde76d0 Rewrite .map_err_trace_exit().unwrap() with new helper fn 2017-10-12 20:15:46 +02:00
013e82f04f Update dependency: filters: 0.1 -> 0.2 2017-10-12 19:48:01 +02:00
67a127f700 Update dependency: itertools: 0.6 -> 0.7 2017-10-12 19:45:50 +02:00
169107d569 Remove FoldResult 2017-09-30 10:45:10 +02:00
643db0df3a Remove libimagcounter / imag-counter 2017-09-28 22:41:23 +02:00
73f6016221 Update version strings: 0.4.0 -> 0.5.0 2017-09-24 13:05:01 +02:00
162b36d6ee Update dependency specs
Most notably:

* env_logger: 0.4 -> 0.5
* hoedown: 5.0.0 -> 6.0.0
* itertools: 0.5 -> 0.6
* lazy_static: 0.1.15 -> 0.2
* regex: 0.1 -> 0.2
* semver: 0.5 -> 0.8
* url: 1.2 -> 1.5
* uuid: 0.3 -> 0.5

(This list is most surely not complete)
2017-09-19 17:16:19 +02:00
26a0038ac2 Merge pull request #1073 from matthiasbeyer/imag-bookmark/configurable
Make default bookmark collection configurable via imagrc.toml
2017-09-16 09:52:08 +02:00
d7d4d9fa7a Make default bookmark collection configurable via imagrc.toml 2017-09-15 21:46:15 +02:00
1ffc45a4c0 Use positional args 2017-09-15 21:07:01 +02:00
2bbda59051 Refactor and simplify imag-notes binary 2017-09-15 13:53:16 +02:00
2f0fa2b6ca Merge pull request #1068 from matthiasbeyer/imag-timetrack/fix-track-command
Fix: Let the track command parse the start/end time more intelligently
2017-09-15 12:38:42 +02:00
e049559bed Fix: Let the track command parse the start/end time more intelligently
It understands "now" from this point and can parse dates or date-times
(whereas dates get normalized to date + hour 0, minute 0, second 0).
2017-09-14 20:49:10 +02:00
dc78c0e448 Change create() to check config and commandline whether entry should be created timed or not 2017-09-14 18:59:03 +02:00
dbf529e427 Add config parsing helpers 2017-09-14 18:58:40 +02:00
ea982204b9 Add new deps: toml, toml_query 2017-09-14 18:58:17 +02:00
976f280511 Update toml-query: 0.3.* -> ^0.3.1
This release contains a bugfix for a critical bug in the
`TomlValueInsertExt::insert()` algorithm which was triggered by an
edgecase.
2017-09-06 19:30:32 +02:00
c115215fa4 Merge branch 'master' into libimagerror/integration
This merge solved a _LOT_ of conflicts and was a rather complicated one,
as parts of the conflict-resolution involved rewriting of half the
stuff.

This merge commit fixes all the things so a `cargo check --all`
succeeds, but I did not yet check whether tests run without failure.
2017-09-04 23:02:45 +02:00
6d1dab3117 Merge pull request #1029 from matthiasbeyer/all-extensions-as-traits
All extensions as traits
2017-09-04 21:59:54 +02:00
51650bf043 Small embellishments
Fix false documentation, make warn!() into error!() and provide more
information in the logged message.
2017-09-04 16:24:50 +02:00
72ea21ee1f Rename module task -> taskstore 2017-09-04 09:20:14 +02:00
18e806f588 Remove dedicated result modules, use error chain generated Result types 2017-09-04 09:19:29 +02:00
7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
2b845c773b imag-mail: Rewrite error handling 2017-09-03 21:33:54 +02:00
69b3fe52c6 imag-diary: Rewrite error handling 2017-09-03 21:33:54 +02:00
Mario Krehl
0f317858e2 Refactor imag-todo to work with the TaskStore trait instead of Task 2017-09-02 16:12:12 +02:00
Mario Krehl
ef92acb1b0 Refactor imag-todo to work with the changes in libimagtodo 2017-09-02 13:29:49 +02:00
26115bf7f8 Remove tagging functionality from imag-notes 2017-09-02 10:16:56 +02:00