Matthias Beyer
9ecd1849d7
Fix README path
2017-12-24 13:31:59 +01:00
Matthias Beyer
f0ae628687
Transform to use error-chain
2017-12-23 14:20:46 +01:00
Matthias Beyer
7bdaaf35fc
Initial import
2017-12-23 14:20:46 +01:00
Matthias Beyer
840bc86c90
Merge pull request #1178 from matthiasbeyer/libimaghabit/fix-until
...
Fix: Until date is still optional
2017-12-22 14:39:41 +01:00
Matthias Beyer
6246d25c9d
Fix: Until date is still optional
2017-12-22 13:20:11 +01:00
Matthias Beyer
09c9eb6090
Merge pull request #1175 from matthiasbeyer/libimaghabit/remove-unused
...
libimaghabit: Remove unused things
2017-12-22 12:29:50 +01:00
Matthias Beyer
9bf4b9604b
Remove unused variables
2017-12-22 11:03:42 +01:00
Matthias Beyer
90ed0c0e10
Remove unused macro import
2017-12-22 11:02:55 +01:00
Matthias Beyer
96b51280ab
Remove unused imports
2017-12-22 11:01:35 +01:00
Matthias Beyer
cd8f0beae8
Add until-date support
2017-12-22 10:59:27 +01:00
Matthias Beyer
ddf703eaa0
Add HabitTemplate::next_instance_date_after()
...
Rewrite HabitTemplate::next_instance_date() to use the new function
2017-12-19 19:13:12 +01:00
Matthias Beyer
6f244a52ff
Add function to instantiate with a given date
...
Use that function in the `create_instance()` function which was renamed
to `create_instance_today()`.
2017-12-19 19:13:04 +01:00
Matthias Beyer
13e9ee3ffa
Add Habit::next_instance_date()
2017-12-08 14:54:49 +01:00
Matthias Beyer
f81faa3f6a
Make "util" pub
2017-12-08 14:54:49 +01:00
Matthias Beyer
999bdf8d0d
Add HabitTemplate::linked_instances() function
2017-12-08 14:54:49 +01:00
Matthias Beyer
3b319fd4f0
Add HabitInstanceStoreIdIterator::new
2017-12-08 14:54:49 +01:00
Matthias Beyer
30e05d21f9
Add debugging output
2017-12-08 14:54:49 +01:00
Matthias Beyer
90a4139ede
Make builder consuming
2017-12-08 14:54:49 +01:00
Matthias Beyer
dc7a315176
Getter for all instances
2017-12-08 14:54:45 +01:00
Matthias Beyer
b181b488a2
Add extension to check whether an Entry or a StoreId points to a habit instance/template
2017-12-08 14:54:45 +01:00
Matthias Beyer
9af2f34b58
Outsource instance id creation to helper fn
2017-12-08 14:54:45 +01:00
Matthias Beyer
6a13567efc
dependency: kairos: beta-1 -> beta-2
2017-12-08 14:54:45 +01:00
Matthias Beyer
0ffbb2ef1a
Add kairos error chain integration
2017-12-08 14:54:45 +01:00
Matthias Beyer
2c655daa39
Add IsValidHabitObj helper trait
2017-12-08 14:54:45 +01:00
Matthias Beyer
6b33fc9e6f
Update kairos: master -> 0.1.0-beta-1
2017-12-08 14:54:45 +01:00
Matthias Beyer
a6a36455f5
Add recur spec with kairos support
2017-12-08 14:54:41 +01:00
Matthias Beyer
42cabffa64
Implement HabitInstance for Entry
2017-12-08 14:54:41 +01:00
Matthias Beyer
533d97532b
Move date-string conversion utils to util module
2017-12-08 14:54:40 +01:00
Matthias Beyer
a71c9281ec
Initial import
2017-12-08 14:54:40 +01:00
Matthias Beyer
167511afec
Fix formatting and adjust module/lib documentation
...
Also add symlink in module implementation to lib-documentation.
2017-12-08 14:54:40 +01:00
Matthias Beyer
3fa2995c5f
Merge pull request #1168 from matthiasbeyer/libimagentrylist/print-empty-list
...
Add flag and check whether to print empty table
2017-12-07 22:08:47 +01:00
Matthias Beyer
13768322d2
Add flag and check whether to print empty table
2017-12-06 20:31:18 +01:00
Matthias Beyer
af67ff51c8
Remove accidentially slipped-in println!()
2017-12-06 19:51:02 +01:00
Matthias Beyer
b17772041f
TableLister: If configured with index, also print index row
2017-12-03 21:20:23 +01:00
Matthias Beyer
77f93e77f0
Fix syntax
2017-11-18 12:28:20 +01:00
Matthias Beyer
04d5af8d50
Switch to upstream rust-vobject
2017-11-09 11:21:17 +01:00
Matthias Beyer
dfbc69400a
Let ContactData be unpacked and derefd
2017-10-31 19:10:11 +01:00
Matthias Beyer
4fa41faa59
Add iterator for contacts
2017-10-31 19:10:11 +01:00
Matthias Beyer
b05c8c6f6d
Replace search_contact() with all_contacts()
...
We can then use filters to filter out the non relevant ones.
2017-10-31 19:10:11 +01:00
Matthias Beyer
f3d75e97b6
Rely on own clone of rust-vobject
2017-10-31 19:10:10 +01:00
Matthias Beyer
12e8657eb9
Add Contact::is_contact()
2017-10-31 19:09:43 +01:00
Matthias Beyer
f2bd241a59
Add error for header type error
2017-10-31 19:09:43 +01:00
Matthias Beyer
aae19221b6
Impl Contact::get_contact_data()
2017-10-31 19:09:43 +01:00
Matthias Beyer
ce5e7f5252
Impl Store::create_from_path()
2017-10-31 19:09:43 +01:00
Matthias Beyer
c14c19483c
Add lib internal utilities
2017-10-31 19:09:43 +01:00
Matthias Beyer
577f8d313a
Add more error links
2017-10-31 19:09:43 +01:00
Matthias Beyer
04182f5cb6
Add initial layout of code
2017-10-31 19:09:43 +01:00
Matthias Beyer
eaa9ad5993
Add basic documentation on how the lib works
2017-10-31 19:09:43 +01:00
Matthias Beyer
434505f1f0
Initial import of libimagcontact
2017-10-31 19:09:41 +01:00
Matthias Beyer
23820e322e
Merge pull request #1157 from matthiasbeyer/imag-location-from-env
...
Try to get RTP from IMAG_RTP
2017-10-31 16:24:51 +01:00
Matthias Beyer
dc26f8c20c
Merge pull request #1156 from matthiasbeyer/store-verify-from-cli-app
...
Move verify implementation from Store to CLI interface
2017-10-31 15:47:57 +01:00
Matthias Beyer
4250241f18
Try to get RTP from IMAG_RTP
2017-10-31 15:30:29 +01:00
Matthias Beyer
f82ad2b6d1
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
29c9ad71b5
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
a44d79093c
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
e758a28c9e
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
d5f537dc4d
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
078936191b
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
81ceb50f4a
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
d60f7d72e6
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
da391954cc
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
ec3daa1f41
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
14bacaf01f
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
51a7429283
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
85ccc482d2
Replace uses of try!() macro with "?" operator
2017-10-31 15:04:50 +01:00
Matthias Beyer
d4031758d6
Use ? operator instead of try!() macro
2017-10-31 15:04:50 +01:00
Matthias Beyer
26d7fd4eb7
Use ? operator instead of try!() macro
2017-10-31 15:04:07 +01:00
Matthias Beyer
82c30edcee
Simplify matching
2017-10-31 15:04:07 +01:00
Matthias Beyer
131881cd01
Use ? operator instead of try!() macro
2017-10-31 15:04:07 +01:00
Matthias Beyer
a20871eb5e
Add badges in Cargo.toml of all crates
2017-10-31 15:03:30 +01:00
Matthias Beyer
5d76e7bafa
Use ? operator instead of try!() macro
2017-10-31 15:03:30 +01:00
Matthias Beyer
ea618ee3c7
Remove unused variable
2017-10-31 15:03:30 +01:00
Matthias Beyer
2855a89e24
Move verify implementation from Store to CLI interface
2017-10-31 13:11:34 +01:00
Matthias Beyer
b237adfe19
Fix calls to Runtime::config() to use direct result
2017-10-31 09:25:14 +01:00
Matthias Beyer
eca7219039
Rewrite configuration providing in runtime
...
Before the configuration object (the raw TOML object) was provided via a
wrapper object `Configuration`. This was ugly and not very nice to use.
Now, we only have the `toml::Value` object we lend out from
`Runtime::config()`.
The changes included libimagrt internal rewrites, which are not visible
to the user. Anyways, this change changes the API for config-fetching
from the runtime, so fixes for all other crates may follow.
The changes also removed the support for reading the "editor" setting
from the configuration file, which was not used anyways (in the example
imagrc.toml file).
The CLI-reading and ENV-reading are still supported, though.
2017-10-31 09:25:14 +01:00
Matthias Beyer
e7aa5af9be
Merge pull request #1149 from matthiasbeyer/libimagrt/remove-logging-format-overrides
...
Remove override functionality for logging formats
2017-10-16 10:11:28 +02:00
Matthias Beyer
e5d93f5ff3
Remove override functionality for logging formats
2017-10-16 00:47:42 +02:00
Matthias Beyer
e43b524420
Merge pull request #1150 from matthiasbeyer/libimagrt/override-logging-with-debug-flag
...
Fix: Overide logging with --debug
2017-10-15 23:28:10 +02:00
Matthias Beyer
32de2821d2
Merge pull request #1151 from matthiasbeyer/libimagstore/remove-accidental-println
...
Remove accidentially slipped-in println
2017-10-15 23:28:00 +02:00
Matthias Beyer
16b5652fdd
Remove accidentially slipped-in println
2017-10-15 19:49:06 +02:00
Matthias Beyer
817933c99f
Fix: Overide logging with --debug
...
Formerly, the --debug flag was ignores. This change overrides the
logging with the CLI specified logging if it was provided.
If --debug was provided, the logging is set to debugging, if --verbose
was provided info logging is used.
2017-10-15 19:48:06 +02:00
Matthias Beyer
d37de44c94
Add RefStore::find_storeid_by_partial_hash() helper
2017-10-14 14:05:56 +02:00
Matthias Beyer
6c387e893c
Add RefStore::get_by_partial_hash()
2017-10-14 13:36:04 +02:00
Matthias Beyer
e74745c9fc
Remove RefStore::get() which was simply a wrapper to Store::get()
2017-10-14 13:08:37 +02:00
Matthias Beyer
41374fb620
Add more helpers for handlebars
2017-10-14 11:02:30 +02:00
Matthias Beyer
704c01b2c9
Merge pull request #1130 from matthiasbeyer/imag-annotate/init
...
Imag annotate/init
2017-10-13 16:20:57 +02:00
Matthias Beyer
797b764027
Fix: Return annotation object when found
...
Before we did not return the annotation object after unlinking it. This
patch fixes this.
2017-10-13 14:53:57 +02:00
Matthias Beyer
23f4d7948f
Fix Store::entries() to not yield directories
...
Before the iterator did also yield storeids for directories, which was a
bug.
This change introduces a new if_file() function in the store-internal
backend, which is needed to check whether a path actually points to a
File, be it inmemory or on the real filesystem.
That's because tests might fail if they check via PathBuf::is_file() as
in tests, the entries only exist inmemory.
2017-10-13 14:26:06 +02:00
Matthias Beyer
a24baca779
Merge pull request #1129 from matthiasbeyer/libimagentryannotation/not-based-on-libimagnotes
...
Libimagentryannotation/not based on libimagnotes
2017-10-12 23:47:15 +02:00
Matthias Beyer
7978e71bde
Rewrite API
2017-10-12 22:15:13 +02:00
Matthias Beyer
ec855fefc7
Remove dependency on libimagnotes
2017-10-12 22:15:13 +02:00
Matthias Beyer
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
Matthias Beyer
663242db7e
Update dependency: error-chain: 0.10 -> 0.11
2017-10-12 22:12:27 +02:00
Matthias Beyer
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
Matthias Beyer
013e82f04f
Update dependency: filters: 0.1 -> 0.2
2017-10-12 19:48:01 +02:00
Matthias Beyer
67a127f700
Update dependency: itertools: 0.6 -> 0.7
2017-10-12 19:45:50 +02:00
Matthias Beyer
bb26d1c895
Update dependency: ansi_term: 0.9 -> 0.10
2017-10-12 19:44:33 +02:00
Matthias Beyer
eb4681bf65
Add helper for tracing error and exit or unwrap the value
2017-10-12 19:02:37 +02:00
Matthias Beyer
d044e7a928
Add helper functions to register all helpers
2017-10-12 18:46:58 +02:00
Matthias Beyer
eb07bce1d0
Move handlebars custom helpers to libimaginteraction
2017-10-12 18:46:58 +02:00
Matthias Beyer
f266791142
Add multi-destination logging to logger
...
The logger was not able to handle multiple destinations before. Now it
is possible for the logger.
The file must be held behind an Arc<Mutex<_>> so we can use the logging
from multiple threads but also because we need to borrow mutably, so
that bit changes whith this commit.
2017-10-08 18:08:51 +02:00
Matthias Beyer
b587bbbdc1
Fix: Create directory before renaming file
2017-10-01 01:59:41 +02:00
Matthias Beyer
24210c0068
Add some debug output
2017-10-01 01:59:13 +02:00
Matthias Beyer
169107d569
Remove FoldResult
2017-09-30 10:45:10 +02:00
Matthias Beyer
643db0df3a
Remove libimagcounter / imag-counter
2017-09-28 22:41:23 +02:00
Matthias Beyer
db64c06409
Add RefStore::all_references()
2017-09-28 17:52:27 +02:00
Matthias Beyer
046eb5eca3
Merge pull request #1108 from matthiasbeyer/libimagentryref/refactor-errors
...
Refactor errors to use error-chain linking functionality
2017-09-24 15:23:04 +02:00
Matthias Beyer
2ce75251d9
Adjust for new error linking setup in libimagentryref
2017-09-24 13:05:16 +02:00
Matthias Beyer
cac7697054
Refactor errors to use error-chain linking functionality
2017-09-24 13:05:16 +02:00
Matthias Beyer
73f6016221
Update version strings: 0.4.0 -> 0.5.0
2017-09-24 13:05:01 +02:00
Matthias Beyer
e9bf46c247
Fix README location
2017-09-24 11:36:38 +02:00
Matthias Beyer
1f28328476
Merge pull request #1107 from matthiasbeyer/libimagentrylink/error-refactoring
...
Use error chain link functionality to remove link-conversion boilerplate
2017-09-23 19:50:16 +02:00
Matthias Beyer
5894c27e44
Use error chain link functionality to remove link-conversion boilerplate
2017-09-23 18:32:23 +02:00
Matthias Beyer
aa1f58cfff
Add test for testing annotation
2017-09-23 14:13:16 +02:00
Matthias Beyer
441e59753a
Merge pull request #1105 from matthiasbeyer/minor
...
Minor
2017-09-22 16:06:23 +02:00
Matthias Beyer
f8d6789dd9
Merge pull request #1104 from matthiasbeyer/imag-gps/init
...
imag-gps: init
2017-09-22 15:20:29 +02:00
Matthias Beyer
0c461e126b
Fix impl of GPSEntry::remove_coordinates()
2017-09-22 14:37:03 +02:00
Matthias Beyer
dfd1d7b96e
Remove unused imports
2017-09-22 14:25:44 +02:00
Matthias Beyer
42599d4132
Merge pull request #1102 from matthiasbeyer/libimagentrylink/consistency-check-fix
...
libimagentrylink: consistency check fix
2017-09-21 19:30:25 +02:00
Matthias Beyer
3884e4232c
Merge pull request #1103 from matthiasbeyer/libimagentrygps/more-functionality
...
libimagentrygps: More functionality
2017-09-21 19:01:12 +02:00
Matthias Beyer
eb118c2b17
Reimplement aggregating functionality
...
Which fixes the bug that a dead link was not found.
2017-09-21 17:30:20 +02:00
Matthias Beyer
e18c68d5cb
Add output of aggregated linking-network
2017-09-21 17:30:20 +02:00
Matthias Beyer
7ece32f7c3
Merge pull request #1101 from matthiasbeyer/libimagstore/fs-backend/fix-walkdir-depth
...
Libimagstore: fs backend: Fix walkdir depth
2017-09-21 17:29:47 +02:00
Matthias Beyer
f5d5e3c9c3
Add getters
2017-09-21 17:28:13 +02:00
Matthias Beyer
0efffdbea3
Impl Display for {GPSValue, Coordinates}
2017-09-21 17:26:46 +02:00
Matthias Beyer
a34a9239a7
Add GPSEntry::remove_coordinates()
2017-09-21 17:26:41 +02:00
Matthias Beyer
555c0bb1df
Fix Walkdir depth
...
From the documentation of Walkdir::min_depth():
Set the minimum depth of entries yielded by the iterator.
The smallest depth is 0 and always corresponds to the path given to
the new function on this type. Its direct descendents have depth 1,
and their descendents have depth 2, and so on.
This means that when we started with "/tmp/store", we end up yielding
that exact path in the first iteration. This is exactly what we do _not_
want.
Setting the minimal depth to 1 fixes this bug.
2017-09-21 16:31:25 +02:00
Matthias Beyer
74a7208757
Fix: critical typo
2017-09-21 12:23:32 +02:00
Matthias Beyer
5a868015e6
Merge pull request #1098 from matthiasbeyer/libimagstore/glob-iter-early-error
...
Return glob errors instead of tracing internally
2017-09-21 09:29:34 +02:00
Matthias Beyer
c6e94dfd3c
Return glob errors instead of tracing internally
...
This changes the internal GlobStoreIdIterator to return Result<StoreId>,
which gives us the possibility to aggregate errors in the
Store::retrieve_for_module() function and return them instead of tracing
them from the store.
The changes the internals to actually fetch the whole list of storeids,
which is unfortunate of course, but changing the interface is not an
option here, in my opinion.
At least we're only aggregating pathes, so the memory usage is pretty
low here.
2017-09-20 22:42:11 +02:00
Matthias Beyer
8bbaeeef45
Fix: Store::delete() should check FS as well
...
This patch fixes a problem where the Store::delete() function only
checked the store-internal cache whether an entry exists, but not the
Filesystem. After this patch is applied, the Store::delete() function
also checks the filesystem whether the entry exists.
2017-09-20 22:24:59 +02:00
Matthias Beyer
e2bf6c48ef
Merge pull request #1096 from matthiasbeyer/fix-log-output
...
Register the no-escape escape functionality in handlebars
2017-09-20 22:00:53 +02:00
Matthias Beyer
87ad85ab3d
Merge pull request #1094 from matthiasbeyer/libimagdiary/is_in_diary
...
Base IsInDiary::is_in_diary() on StoreId::is_in_collection()
2017-09-20 22:00:41 +02:00
Matthias Beyer
9b2ceb31cc
Merge pull request #1093 from matthiasbeyer/libimagentrylist/rip-out-cli-mod
...
libimagentrylist: Remove unused module
2017-09-20 22:00:34 +02:00
Matthias Beyer
a73111458e
Merge pull request #1091 from matthiasbeyer/libimagstore/toml-pretty
...
Serialize TOML pretty
2017-09-20 22:00:27 +02:00
Matthias Beyer
b431d0ee49
Merge pull request #1092 from matthiasbeyer/minor
...
Minor things
2017-09-20 19:24:44 +02:00
Matthias Beyer
de69d31a58
Register the no-escape escape functionality in handlebars
...
Before, handlebars automatically applied html escaping, which resulted
in <>'& beeing escaped. But we don't need to escape for terminal output.
2017-09-20 19:12:08 +02:00
Matthias Beyer
da4d670cbc
Base IsInDiary::is_in_diary() on StoreId::is_in_collection(), which is tested
2017-09-20 18:48:55 +02:00
Matthias Beyer
19c3bc829a
Remove unused module
2017-09-20 18:41:54 +02:00
Matthias Beyer
79b6c26502
Serialize TOML pretty
2017-09-20 18:38:31 +02:00
Matthias Beyer
c558addbd6
Add debug/trace output in Store
2017-09-20 12:05:44 +02:00
Matthias Beyer
5ce6cb2aa5
Switch from .set() to .insert()
2017-09-20 12:05:44 +02:00
Matthias Beyer
8ddb0f6c24
Do not use "imag" namespace in header
...
This change switches the header location for the tagging information
from "imag.tags" to "tag.values". "tags" is not used because non-tables
are not allowed at the top level of the header.
Tests are adapted.
2017-09-20 09:24:46 +02:00
Matthias Beyer
8904694b2a
Remove plain-text default entry
2017-09-19 22:31:23 +02:00
Matthias Beyer
75bc1b0511
Fix README symlink
2017-09-19 18:34:56 +02:00
Matthias Beyer
ec0c58d360
Fix README symlink
2017-09-19 18:32:34 +02:00
Matthias Beyer
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
Matthias Beyer
a01a2c18f8
Check in Store::move_by_id() whether target exists, not only in cache but also on FS
2017-09-17 15:44:19 +02:00
Matthias Beyer
29e1107d3e
Add file abstraction function to check whether path exists
2017-09-17 15:43:57 +02:00
Matthias Beyer
22b9f8ecdd
Do not insert the links array in the core header
2017-09-16 19:44:09 +02:00