Commit graph

677 commits

Author SHA1 Message Date
c0f4a20367
Merge pull request #1200 from matthiasbeyer/refactor-matching-into-command-chaining
Refactor matching into command chaining
2018-01-05 15:19:32 +01:00
2c0f35e1a4
Merge pull request #1195 from matthiasbeyer/libimagdiary/support-seconds
Add second-support in libimagdiary
2018-01-05 13:54:12 +01:00
824f88e4fd Refactoring: Use function chaining rather than matching 2018-01-05 13:32:31 +01:00
66b0611103 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
dac817f318 Refactor: Use function chaining and new error type link 2018-01-05 11:37:09 +01:00
1e2ac14d3b Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
c92e459e3a Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
5db3d0c278 Refactor: Use function chaining rather than matching
And use a helper function for common functionality
2018-01-05 11:37:09 +01:00
feaa32196b Refactoring: Use function chaining rather than matching
Also introduce error links for this.
2018-01-05 11:37:09 +01:00
3294a77346 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
40490c10d6 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
dd66936e48 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
a386d50df3 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
e7d5e9ebc2 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
4bb0d0f073 Refactor: Use function chaining instead of matching 2018-01-05 11:37:09 +01:00
d5ce99b170 Refactor toml destructure matching.
Use accessor functionality and function chaining now.
2018-01-05 11:37:09 +01:00
4184a1e5d0 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
fa8ac03701 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
dbd9a2faaf Replace matching with function chaining 2018-01-05 11:37:09 +01:00
c1ff2b14f0 Replace matching with function chaining 2018-01-05 11:37:09 +01:00
a9135a80fb Replace matching with command chaining 2018-01-05 11:37:09 +01:00
7d1d41884c Replace matching with function chaining 2018-01-05 11:37:09 +01:00
57cf5003bd Move common functionality to utility module 2018-01-05 11:37:09 +01:00
0640bdeb73 Add second-support in libimagdiary 2018-01-04 19:39:07 +01:00
01bd020419 Remove unused imports 2018-01-04 19:35:35 +01:00
02f38fb209 Fix comments: Use two instead of three slashes 2018-01-04 19:34:55 +01:00
e518598351 Remove unneeded "mut" 2018-01-04 19:34:43 +01:00
af819f0fca Remove unneeded "mut" 2018-01-04 19:34:21 +01:00
0c9c9e26c1
Merge pull request #1183 from matthiasbeyer/libimaglog/init
libimaglog: init
2018-01-01 21:18:22 +01:00
529f3f83da
Merge pull request #1187 from matthiasbeyer/libimagerror/display-fix
Improve error output
2018-01-01 20:47:24 +01:00
774933ae4a
Merge pull request #1163 from matthiasbeyer/libimagstore/mighty-iters
libimagstore: More powerful iterator extensions
2017-12-25 22:02:56 +01:00
198e304be9 Initial import of libimaglog implementation 2017-12-25 21:55:04 +01:00
92d4a0237e Initial import: libimaglog 2017-12-25 21:46:04 +01:00
9890371652
Merge pull request #1185 from matthiasbeyer/bump-version-strings
Update version strings: 0.5.0 -> 0.6.0
2017-12-25 21:06:14 +01:00
0ae7b6b387 Do not call description() when displaying the error 2017-12-25 19:44:29 +01:00
46a8d373b3 Allow dead code in whole module 2017-12-25 19:23:41 +01:00
7d67b67440 Update version strings in tests 2017-12-25 19:17:07 +01:00
3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
9128d04866 Remove test
This test is not applicable anymore because it tests (and tested) the
wrong thing.

It was to check whether the function failed because the "imag" key
contained the wrong type, but this is not tested by that function. The
function only checks whether the "imag" key is present.
2017-12-25 17:59:50 +01:00
35410aaa2e Refactor: Remove unneccessary functions 2017-12-25 17:59:50 +01:00
20a552f527 Refactor header checking to use toml-query 2017-12-25 17:59:50 +01:00
2bf91fab09 Enhance error types 2017-12-25 17:59:50 +01:00
986dbad2fd
Merge pull request #1176 from matthiasbeyer/libimagstore/remove-config
libimagstore: remove config
2017-12-25 17:58:16 +01:00
0870665668 Add iterator extension for iterators over Result<T, E> 2017-12-24 13:52:50 +01:00
67410b3ad2 Implement iter extension for all iterators over StoreId 2017-12-24 13:52:50 +01:00
0ed636bb06 Refactor libimagrt+libimagstore to pass whole configuration object
Before we extracted the store configuration from the configuration
toml::Value object and passed it to the store.

This is unecessary overhead.

Now we pass the whole configuration object and let the store extract the
required values.
2017-12-24 13:52:18 +01:00
174d8d76e9 Remove configuration member, reduce configuration
We only need the configuration to check whether creating the store
directory is actually allowed.
2017-12-24 13:52:13 +01:00
38b56df406 Add new dependency: toml-query 2017-12-24 13:52:13 +01:00
cf5b4239c4 Update version string
Holy crap this should really not happen. We accidentially released this
crate as 0.4.0 instead of 0.5.0.
2017-12-24 13:31:59 +01:00
9ecd1849d7 Fix README path 2017-12-24 13:31:59 +01:00
f0ae628687 Transform to use error-chain 2017-12-23 14:20:46 +01:00
7bdaaf35fc Initial import 2017-12-23 14:20:46 +01:00
840bc86c90
Merge pull request #1178 from matthiasbeyer/libimaghabit/fix-until
Fix: Until date is still optional
2017-12-22 14:39:41 +01:00
6246d25c9d Fix: Until date is still optional 2017-12-22 13:20:11 +01:00
09c9eb6090
Merge pull request #1175 from matthiasbeyer/libimaghabit/remove-unused
libimaghabit: Remove unused things
2017-12-22 12:29:50 +01:00
9bf4b9604b Remove unused variables 2017-12-22 11:03:42 +01:00
90ed0c0e10 Remove unused macro import 2017-12-22 11:02:55 +01:00
96b51280ab Remove unused imports 2017-12-22 11:01:35 +01:00
cd8f0beae8 Add until-date support 2017-12-22 10:59:27 +01:00
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
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
13e9ee3ffa Add Habit::next_instance_date() 2017-12-08 14:54:49 +01:00
f81faa3f6a Make "util" pub 2017-12-08 14:54:49 +01:00
999bdf8d0d Add HabitTemplate::linked_instances() function 2017-12-08 14:54:49 +01:00
3b319fd4f0 Add HabitInstanceStoreIdIterator::new 2017-12-08 14:54:49 +01:00
30e05d21f9 Add debugging output 2017-12-08 14:54:49 +01:00
90a4139ede Make builder consuming 2017-12-08 14:54:49 +01:00
dc7a315176 Getter for all instances 2017-12-08 14:54:45 +01:00
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
9af2f34b58 Outsource instance id creation to helper fn 2017-12-08 14:54:45 +01:00
6a13567efc dependency: kairos: beta-1 -> beta-2 2017-12-08 14:54:45 +01:00
0ffbb2ef1a Add kairos error chain integration 2017-12-08 14:54:45 +01:00
2c655daa39 Add IsValidHabitObj helper trait 2017-12-08 14:54:45 +01:00
6b33fc9e6f Update kairos: master -> 0.1.0-beta-1 2017-12-08 14:54:45 +01:00
a6a36455f5 Add recur spec with kairos support 2017-12-08 14:54:41 +01:00
42cabffa64 Implement HabitInstance for Entry 2017-12-08 14:54:41 +01:00
533d97532b Move date-string conversion utils to util module 2017-12-08 14:54:40 +01:00
a71c9281ec Initial import 2017-12-08 14:54:40 +01:00
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
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
13768322d2 Add flag and check whether to print empty table 2017-12-06 20:31:18 +01:00
af67ff51c8 Remove accidentially slipped-in println!() 2017-12-06 19:51:02 +01:00
b17772041f TableLister: If configured with index, also print index row 2017-12-03 21:20:23 +01:00
77f93e77f0 Fix syntax 2017-11-18 12:28:20 +01:00
04d5af8d50 Switch to upstream rust-vobject 2017-11-09 11:21:17 +01:00
dfbc69400a Let ContactData be unpacked and derefd 2017-10-31 19:10:11 +01:00
4fa41faa59 Add iterator for contacts 2017-10-31 19:10:11 +01:00
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
f3d75e97b6 Rely on own clone of rust-vobject 2017-10-31 19:10:10 +01:00
12e8657eb9 Add Contact::is_contact() 2017-10-31 19:09:43 +01:00
f2bd241a59 Add error for header type error 2017-10-31 19:09:43 +01:00
aae19221b6 Impl Contact::get_contact_data() 2017-10-31 19:09:43 +01:00
ce5e7f5252 Impl Store::create_from_path() 2017-10-31 19:09:43 +01:00
c14c19483c Add lib internal utilities 2017-10-31 19:09:43 +01:00
577f8d313a Add more error links 2017-10-31 19:09:43 +01:00
04182f5cb6 Add initial layout of code 2017-10-31 19:09:43 +01:00
eaa9ad5993 Add basic documentation on how the lib works 2017-10-31 19:09:43 +01:00
434505f1f0 Initial import of libimagcontact 2017-10-31 19:09:41 +01:00
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
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
4250241f18 Try to get RTP from IMAG_RTP 2017-10-31 15:30:29 +01:00
f82ad2b6d1 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
29c9ad71b5 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
a44d79093c Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
e758a28c9e Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
d5f537dc4d Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
078936191b Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
81ceb50f4a Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
d60f7d72e6 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
da391954cc Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
ec3daa1f41 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
14bacaf01f Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
51a7429283 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
85ccc482d2 Replace uses of try!() macro with "?" operator 2017-10-31 15:04:50 +01:00
d4031758d6 Use ? operator instead of try!() macro 2017-10-31 15:04:50 +01:00
26d7fd4eb7 Use ? operator instead of try!() macro 2017-10-31 15:04:07 +01:00
82c30edcee Simplify matching 2017-10-31 15:04:07 +01:00
131881cd01 Use ? operator instead of try!() macro 2017-10-31 15:04:07 +01:00
a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01:00
5d76e7bafa Use ? operator instead of try!() macro 2017-10-31 15:03:30 +01:00
ea618ee3c7 Remove unused variable 2017-10-31 15:03:30 +01:00
2855a89e24 Move verify implementation from Store to CLI interface 2017-10-31 13:11:34 +01:00
b237adfe19 Fix calls to Runtime::config() to use direct result 2017-10-31 09:25:14 +01:00
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
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
e5d93f5ff3 Remove override functionality for logging formats 2017-10-16 00:47:42 +02:00
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
32de2821d2 Merge pull request #1151 from matthiasbeyer/libimagstore/remove-accidental-println
Remove accidentially slipped-in println
2017-10-15 23:28:00 +02:00
16b5652fdd Remove accidentially slipped-in println 2017-10-15 19:49:06 +02:00
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
d37de44c94 Add RefStore::find_storeid_by_partial_hash() helper 2017-10-14 14:05:56 +02:00
6c387e893c Add RefStore::get_by_partial_hash() 2017-10-14 13:36:04 +02:00
e74745c9fc Remove RefStore::get() which was simply a wrapper to Store::get() 2017-10-14 13:08:37 +02:00
41374fb620 Add more helpers for handlebars 2017-10-14 11:02:30 +02:00
704c01b2c9 Merge pull request #1130 from matthiasbeyer/imag-annotate/init
Imag annotate/init
2017-10-13 16:20:57 +02:00
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
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
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
7978e71bde Rewrite API 2017-10-12 22:15:13 +02:00
ec855fefc7 Remove dependency on libimagnotes 2017-10-12 22:15:13 +02: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
663242db7e Update dependency: error-chain: 0.10 -> 0.11 2017-10-12 22:12:27 +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
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
bb26d1c895 Update dependency: ansi_term: 0.9 -> 0.10 2017-10-12 19:44:33 +02:00
eb4681bf65 Add helper for tracing error and exit or unwrap the value 2017-10-12 19:02:37 +02:00
d044e7a928 Add helper functions to register all helpers 2017-10-12 18:46:58 +02:00
eb07bce1d0 Move handlebars custom helpers to libimaginteraction 2017-10-12 18:46:58 +02:00
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
b587bbbdc1 Fix: Create directory before renaming file 2017-10-01 01:59:41 +02:00
24210c0068 Add some debug output 2017-10-01 01:59:13 +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
db64c06409 Add RefStore::all_references() 2017-09-28 17:52:27 +02:00
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
2ce75251d9 Adjust for new error linking setup in libimagentryref 2017-09-24 13:05:16 +02:00
cac7697054 Refactor errors to use error-chain linking functionality 2017-09-24 13:05:16 +02:00
73f6016221 Update version strings: 0.4.0 -> 0.5.0 2017-09-24 13:05:01 +02:00
e9bf46c247 Fix README location 2017-09-24 11:36:38 +02:00
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
5894c27e44 Use error chain link functionality to remove link-conversion boilerplate 2017-09-23 18:32:23 +02:00
aa1f58cfff Add test for testing annotation 2017-09-23 14:13:16 +02:00
441e59753a Merge pull request #1105 from matthiasbeyer/minor
Minor
2017-09-22 16:06:23 +02:00
f8d6789dd9 Merge pull request #1104 from matthiasbeyer/imag-gps/init
imag-gps: init
2017-09-22 15:20:29 +02:00
0c461e126b Fix impl of GPSEntry::remove_coordinates() 2017-09-22 14:37:03 +02:00
dfd1d7b96e Remove unused imports 2017-09-22 14:25:44 +02:00
42599d4132 Merge pull request #1102 from matthiasbeyer/libimagentrylink/consistency-check-fix
libimagentrylink: consistency check fix
2017-09-21 19:30:25 +02:00
3884e4232c Merge pull request #1103 from matthiasbeyer/libimagentrygps/more-functionality
libimagentrygps: More functionality
2017-09-21 19:01:12 +02:00
eb118c2b17 Reimplement aggregating functionality
Which fixes the bug that a dead link was not found.
2017-09-21 17:30:20 +02:00
e18c68d5cb Add output of aggregated linking-network 2017-09-21 17:30:20 +02:00
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
f5d5e3c9c3 Add getters 2017-09-21 17:28:13 +02:00
0efffdbea3 Impl Display for {GPSValue, Coordinates} 2017-09-21 17:26:46 +02:00
a34a9239a7 Add GPSEntry::remove_coordinates() 2017-09-21 17:26:41 +02:00
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
74a7208757 Fix: critical typo 2017-09-21 12:23:32 +02:00
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
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
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
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
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
9b2ceb31cc Merge pull request #1093 from matthiasbeyer/libimagentrylist/rip-out-cli-mod
libimagentrylist: Remove unused module
2017-09-20 22:00:34 +02:00
a73111458e Merge pull request #1091 from matthiasbeyer/libimagstore/toml-pretty
Serialize TOML pretty
2017-09-20 22:00:27 +02:00
b431d0ee49 Merge pull request #1092 from matthiasbeyer/minor
Minor things
2017-09-20 19:24:44 +02:00
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
da4d670cbc Base IsInDiary::is_in_diary() on StoreId::is_in_collection(), which is tested 2017-09-20 18:48:55 +02:00
19c3bc829a Remove unused module 2017-09-20 18:41:54 +02:00
79b6c26502 Serialize TOML pretty 2017-09-20 18:38:31 +02:00
c558addbd6 Add debug/trace output in Store 2017-09-20 12:05:44 +02:00
5ce6cb2aa5 Switch from .set() to .insert() 2017-09-20 12:05:44 +02:00
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
8904694b2a Remove plain-text default entry 2017-09-19 22:31:23 +02:00
75bc1b0511 Fix README symlink 2017-09-19 18:34:56 +02:00
ec0c58d360 Fix README symlink 2017-09-19 18:32:34 +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
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
29e1107d3e Add file abstraction function to check whether path exists 2017-09-17 15:43:57 +02:00
22b9f8ecdd Do not insert the links array in the core header 2017-09-16 19:44:09 +02:00
6228de1066 Query-path fixed 2017-09-15 23:01:45 +02:00
324110cb76 Add more debugging/tracing output 2017-09-15 23:01:26 +02:00
2c1d322a1c Add test to test external linking 2017-09-15 22:49:40 +02:00
29e9fffd03 Move env_logger dep to dev-dependencies 2017-09-15 22:49:24 +02:00
be8a3d1242 Merge pull request #1065 from matthiasbeyer/libimagnotes/do-not-wrap
libimagnotes: Do not wrap store types.
2017-09-15 21:00:24 +02:00
5271255ae3 Fix libimagentryannotation for changes in libimagnotes 2017-09-15 13:53:30 +02:00
94855fb722 Refactor libimagdiary
To not wrap types anymore, but rather use extension traits for extending
all the things.
2017-09-15 13:53:16 +02:00
8b8e4e9c6e Minify iterator helper implementation 2017-09-15 13:17:12 +02:00
fce5df48c8 Add simple iterator helpers for StoreIdIterator -> CRUD Iterator 2017-09-15 13:07:49 +02:00
53c7d602eb Merge pull request #1062 from matthiasbeyer/libimagstore/error-opt
libimagstore: Optimize errors
2017-09-10 11:45:59 +02:00
785e17a4a3 Add param to StoreIdHasNoBaseError 2017-09-10 10:48:51 +02:00
a670172880 Add param to StoreIdLocalPartAbsoluteError 2017-09-10 10:48:50 +02:00
b772908697 Add params to EntryRenameError 2017-09-10 10:48:50 +02:00
2ce2ba54da Replace GlobError with link to ::glob::PatternError 2017-09-10 10:48:50 +02:00
6aa695974c Add param to EntryAlreadyExists error 2017-09-10 10:48:50 +02:00
126aa75a2c Add param to ConfigTypeError 2017-09-09 22:24:58 +02:00
307165d1b2 Remove ConfigReadError because ::toml_query::error::Error is now linked in 2017-09-09 22:15:18 +02:00
a015b07f6a Remove TomlReadError by linking in ::toml_query::error::Error 2017-09-09 22:09:36 +02:00
4849cc4822 Remove TemplateStringRegistrationError by linking in handlebars error type 2017-09-09 22:04:32 +02:00
83f9350d98 Add param to EntryAlreadyBorrowed error 2017-09-09 21:59:36 +02:00
a28613b889 Add param to StorePathCreate 2017-09-09 21:59:36 +02:00
ff8569809b Add parameter to StorePathExists error 2017-09-09 21:59:36 +02:00
78db822917 Remove unused error type 2017-09-09 21:59:36 +02:00
ca9123c740 Add parameter to IdNotFound error 2017-09-09 21:27:10 +02:00
b682e7f8db Remove warning which is printed by the store 2017-09-09 21:14:08 +02:00
21440d58aa Remove outdated comment 2017-09-09 21:13:38 +02:00
3d8f75300d Remove unecessary error chaining 2017-09-09 21:13:21 +02:00
8aa5c2d82d Fix header locations
Also change that the implementation uses toml_query::set instead of
toml_query::insert.

Inserting values creates intermediate tables, set doesn't. And we really
want that convenience here, as the code is complex enough on its own.
2017-09-09 16:36:21 +02:00
250bc3d8a7 Add tests for processing with appropriate setting switched off 2017-09-07 20:57:22 +02:00
18ebd568dc Add test for processing two refs 2017-09-07 20:57:22 +02:00
98aa7bf716 Add test to test ref creation 2017-09-07 20:57:22 +02:00
24985a2384 Add test for processing external link 2017-09-07 20:57:22 +02:00
3cb2393c08 Add test for automatically creating linked entries 2017-09-07 20:57:22 +02:00
0aea9151dd Add test for faulty link 2017-09-07 20:57:22 +02:00
0b640e18be Add test to check whether internal links are parsed and set correctly 2017-09-07 20:57:22 +02:00
0a60f5ca55 Add test for processing entry without links 2017-09-07 20:57:22 +02:00
9c68514dfb Add processor for collecting links from content
and putting them into the header via the functionality offered by
`libimagentrylink`.
2017-09-07 20:57:22 +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
86fae34d0d Merge pull request #1056 from matthiasbeyer/libimagstore/rewrite-store-entries-fn
Rewrite Store::entries() implementation
2017-09-06 17:39:44 +02:00
b10d63c134 Rewrite Store::entries() implementation
As we rely on the filesystem in Store::entries(), which is a bug and
shouldn't be done, we rewrite this function and use the file_abstraction
framework.
2017-09-06 16:11:19 +02:00
9d8a8f0bf4 Fix Store loading in tests: Use in-memory store backend 2017-09-05 22:00:58 +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
39dd9e8d7c Add Task trait for getting UUID from task 2017-09-04 09:20:14 +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
eefcfd02dc Allow generated fns from macros to be unused 2017-09-03 22:01:40 +02:00
7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
28d7085b2d Remove error_chain dependency, not needed 2017-09-03 21:33:55 +02:00
936a314efa libimagtodo: Rewrite error handling 2017-09-03 21:33:54 +02:00
a5bb7a9bec libimagtimetrack: Rewrite error handling 2017-09-03 21:33:54 +02:00
22cff91653 libimagmail: Rewrite error handling 2017-09-03 21:33:54 +02:00
677a5e8886 libimagdiary: Rewrite error handling 2017-09-03 21:33:54 +02:00
31dc0eebc2 libimagcounter: Rewrite error handling 2017-09-03 21:33:54 +02:00
c9dbf76395 libimagbookmark: Rewrite error handling 2017-09-03 21:33:54 +02:00
5b781702cc libimagentryview: Rewrite error handling 2017-09-03 21:33:54 +02:00
0ede39a991 libimagentrytag: Rewrite error handling 2017-09-03 21:33:54 +02:00
8d8a91e7c5 libimagentrycategory: Rewrite error handling 2017-09-03 21:33:54 +02:00
262aae39f4 libimagentryannotation: Rewrite error handling 2017-09-03 21:33:54 +02:00
d443b83b52 libimagentrydatetime: Rewrite error handling 2017-09-03 21:33:54 +02:00
0b068df84e libimagnotes: Rewrite error handling 2017-09-03 21:33:54 +02:00
22be1627b7 libimagentryref: Rewrite error handling 2017-09-03 21:33:54 +02:00
bb6956740d libimagentrymarkdown: Rewrite error handling 2017-09-03 21:33:54 +02:00
9aa5d7439d libimagentrylist: Rewrite error handling 2017-09-03 21:33:54 +02:00
4b4b0b0804 libimagentryedit: Rewrite error handling 2017-09-03 21:33:54 +02:00
ca0dd5906d libimagentrylink: Rewrite error handling 2017-09-03 21:33:54 +02:00
ac34b4ee66 libimaginteraction: Rewrite error handling 2017-09-03 21:33:54 +02:00
b6909a2c86 libimagrt: Rewrite error handling 2017-09-03 21:33:54 +02:00
2df99524e7 libimagstore: rewrite error handling code 2017-09-03 21:33:54 +02:00
603808a9fa Impl IntoError for error kinds 2017-09-03 15:42:06 +02:00
9713a4632c Remove error_gen module entirely 2017-09-03 15:42:06 +02:00
a309fdb280 Add recursion limits to crates 2017-09-03 15:42:06 +02:00
11d881d3a9 Add dependency to crates: error_chain = 0.10 2017-09-03 15:42:06 +02:00
e77d353c52 Rewrite macros to do error-chain behind the scenes 2017-09-03 15:42:03 +02:00
4908cc6aaa Add more helpers 2017-09-03 13:48:05 +02:00
0683bf198b Fix recursion problem 2017-09-03 13:48:05 +02:00
93444be412 Light code cleanup 2017-09-03 13:48:05 +02:00
64f96092cd Fix aggregation 2017-09-03 13:48:05 +02:00
482377abb9 Actually print error here (as logging isnt initialized at this point) 2017-09-03 13:48:05 +02:00
5ec1cd48a0 Implement format-fetching from config/cli 2017-09-03 13:48:05 +02:00
ae24954020 Implement templating 2017-09-03 13:48:05 +02:00
2c66dcdf37 Rewrite logging: Types
This is the first part of a series of patches that reimplements the
logging backend to be more powerful and configurable.

This first patch adds types and infrastructure to be able to implement a
powerful logging abstraction.

It does not implement much functionality, except for a check whether a
module is enabled or not when logging (if configured in the config
file).
2017-09-03 13:48:05 +02:00
5626a365c6 Merge pull request #1044 from matthiasbeyer/libimagrt/feature-testing
Add store extraction to Runtime
2017-09-02 17:25:13 +02:00
Mario Krehl
58a2729da0 Changed Task trait to TaskStore trait, implemented for the Store instead of the FileLockEntry 2017-09-02 14:30:27 +02:00
8c69ed54e4 Merge pull request #1035 from matthiasbeyer/tag-ui-feature-to-bin
Tag ui feature to bin
2017-09-02 14:10:01 +02:00
Mario Krehl
f3bb6d02d0 Change the Task(FileLockEntry) type to a trait 2017-09-02 12:23:29 +02:00
ab06263507 Add store extraction to Runtime
This is necessary to be able to re-build a Runtime object with an new
set of "commandline arguments". For example if a test wants to test two
calls to imag, for example a "add" operation followed by a "remove" operation.

These functions are feature-gated therefor and should only be used in
tests.
2017-09-02 10:42:11 +02:00
b32245b03a Bugfix: Fix macro to use the appname instead of hardcoded values 2017-09-02 10:41:38 +02:00
b787ef1696 Move tagging UI code to binary 2017-09-02 10:16:56 +02:00
1a244a3d6b Add setget test 2017-09-01 20:35:30 +02:00
eb32027546 Add test setup with first test 2017-09-01 20:35:30 +02:00
3bad9e2e92 Add entry module 2017-09-01 20:35:30 +02:00
90b3ae1f70 Add base types for the API 2017-09-01 20:35:30 +02:00
c2343eda67 Add error, result module 2017-09-01 20:35:30 +02:00
fb2dd3017a Initial import 2017-09-01 20:35:30 +02:00
048517a3c2 Fix readme links in cargo metadata 2017-09-01 18:48:02 +02:00
21c15ca207 Adapt imag-diary to compile with the new libimagdiary API 2017-09-01 11:04:07 +02:00
31fa07d43a Add another small helper 2017-09-01 11:04:07 +02:00
95b7da1ed2 Impl Entry (now DiaryEntry) as trait 2017-09-01 11:04:06 +02:00
9c69645b69 Implement Diary as trait 2017-09-01 11:04:06 +02:00
7e4275c420 Remove unused crate import 2017-08-31 20:56:13 +02:00
6a8af5ef01 Remove unused imports 2017-08-31 20:56:13 +02:00
ec639be3e1 Fix artifacts from libimagstore::toml_ext times 2017-08-31 20:56:13 +02:00
74ec12d5c2 Remove artifacts
I don't even know how this could re-appear in the codebase as we removed
the toml_ext thing a while ago... strange!
2017-08-31 20:56:13 +02:00
e338fef98e Remove duplicated key 2017-08-31 20:56:12 +02:00
9a9a3f2f43 Merge branch 'libimagstore/remove-unused' into integrate-remove-unused
The merge conflicts which were resolved may roll back some changes from
the merged branch (unknowingly).

These will be fixed in the next commits
2017-08-31 20:56:08 +02:00
a710a5b72b Remove unused variable 2017-08-31 10:57:19 +02:00
991fd7c3d4 Remove unused variable 2017-08-31 10:57:19 +02:00
ac804bd839 Remove unused keyword "mut" where not needed 2017-08-31 10:57:11 +02:00
ae5255c7c7 Remove unused crate imports
This patch removes unused crate imports reported by newer rust versions.

Some crates were only required for tests, some only for tests with
macro_import - these things were fixed with feature gates.
2017-08-31 10:56:15 +02:00
cee0287ee2 Merge pull request #1026 from matthiasbeyer/libimagentryref/extension-as-trait
libimagentryref: Extensions as Traits
2017-08-28 21:27:32 +02:00
6d40797a07 Fix libimagmail to use new libimagentryref interface 2017-08-28 14:32:50 +02:00
d58b97fdf1 Light refactoring
Use .map_err_into() instead of manual wrapping,
some boilerplate minimized.
2017-08-28 14:32:50 +02:00
cf19e0563c Reorganize functionality in traits 2017-08-28 14:32:50 +02:00
c987130cc1 Merge pull request #1018 from matthiasbeyer/remove-toml-ext
Remove toml ext
2017-08-28 14:10:40 +02:00
c0c62bd1b5 Change crates to use toml-query crate 2017-08-28 12:22:37 +02:00
3024fefcb9 Remove toml_ext module 2017-08-28 12:22:13 +02:00
43ca0b43b1 Move "Header" trait for toml::Value to store module 2017-08-28 12:22:13 +02:00
4b42b3328d Rewrite libimagentrylink::external::Link to be a trait 2017-08-28 10:31:13 +02:00
75e42d2f0b Fix errors (former warnings) in several crates
This fixes errors (former warnings) in several locations.
2017-08-27 20:08:03 +02:00
286de656df Handle UTF-8 Errors by returning 2017-08-27 20:08:03 +02:00
7a7ea5c211 Add debug messages 2017-08-27 20:08:03 +02:00
d0f8002682 Ensure deny() for warnings is in all crates 2017-08-27 20:08:03 +02:00
9081a2d58d Fix libimag(entry)ref name 2017-08-27 18:57:59 +02:00
ef93cf0243 libimagentrytimetrack -> libimagtimetrack
This is actually a domain library and thus should be put into the
lib/domain/ folder.
2017-08-27 18:23:47 +02:00
2fcead5f53 Fix broken README symlinks
Along: Add files in documentation for modules that not yet had one.
2017-08-27 15:13:25 +02:00
Mario Krehl
8a63815854 Fix package name of libimagentryannotation
Fix: run `sed -i 's,libimagref,libimagentryref,g' (rg -l 'libimagref')`
Fix: run `sed -i 's,libimagannotation,libimagentryannotation,g' (rg -l 'libimagannotation')`
2017-08-27 15:13:25 +02:00
59a3662ac4 Reorganize code in subdirs 2017-08-27 15:12:09 +02:00