Commit Graph

427 Commits

Author SHA1 Message Date
Matthias Beyer 324110cb76 Add more debugging/tracing output 2017-09-15 23:01:26 +02:00
Matthias Beyer 2c1d322a1c Add test to test external linking 2017-09-15 22:49:40 +02:00
Matthias Beyer 29e9fffd03 Move env_logger dep to dev-dependencies 2017-09-15 22:49:24 +02:00
Matthias Beyer 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
Matthias Beyer 5271255ae3 Fix libimagentryannotation for changes in libimagnotes 2017-09-15 13:53:30 +02:00
Matthias Beyer 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
Matthias Beyer 8b8e4e9c6e Minify iterator helper implementation 2017-09-15 13:17:12 +02:00
Matthias Beyer fce5df48c8 Add simple iterator helpers for StoreIdIterator -> CRUD Iterator 2017-09-15 13:07:49 +02:00
Matthias Beyer 53c7d602eb Merge pull request #1062 from matthiasbeyer/libimagstore/error-opt
libimagstore: Optimize errors
2017-09-10 11:45:59 +02:00
Matthias Beyer 785e17a4a3 Add param to StoreIdHasNoBaseError 2017-09-10 10:48:51 +02:00
Matthias Beyer a670172880 Add param to StoreIdLocalPartAbsoluteError 2017-09-10 10:48:50 +02:00
Matthias Beyer b772908697 Add params to EntryRenameError 2017-09-10 10:48:50 +02:00
Matthias Beyer 2ce2ba54da Replace GlobError with link to ::glob::PatternError 2017-09-10 10:48:50 +02:00
Matthias Beyer 6aa695974c Add param to EntryAlreadyExists error 2017-09-10 10:48:50 +02:00
Matthias Beyer 126aa75a2c Add param to ConfigTypeError 2017-09-09 22:24:58 +02:00
Matthias Beyer 307165d1b2 Remove ConfigReadError because ::toml_query::error::Error is now linked in 2017-09-09 22:15:18 +02:00
Matthias Beyer a015b07f6a Remove TomlReadError by linking in ::toml_query::error::Error 2017-09-09 22:09:36 +02:00
Matthias Beyer 4849cc4822 Remove TemplateStringRegistrationError by linking in handlebars error type 2017-09-09 22:04:32 +02:00
Matthias Beyer 83f9350d98 Add param to EntryAlreadyBorrowed error 2017-09-09 21:59:36 +02:00
Matthias Beyer a28613b889 Add param to StorePathCreate 2017-09-09 21:59:36 +02:00
Matthias Beyer ff8569809b Add parameter to StorePathExists error 2017-09-09 21:59:36 +02:00
Matthias Beyer 78db822917 Remove unused error type 2017-09-09 21:59:36 +02:00
Matthias Beyer ca9123c740 Add parameter to IdNotFound error 2017-09-09 21:27:10 +02:00
Matthias Beyer b682e7f8db Remove warning which is printed by the store 2017-09-09 21:14:08 +02:00
Matthias Beyer 21440d58aa Remove outdated comment 2017-09-09 21:13:38 +02:00
Matthias Beyer 3d8f75300d Remove unecessary error chaining 2017-09-09 21:13:21 +02:00
Matthias Beyer 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
Matthias Beyer 250bc3d8a7 Add tests for processing with appropriate setting switched off 2017-09-07 20:57:22 +02:00
Matthias Beyer 18ebd568dc Add test for processing two refs 2017-09-07 20:57:22 +02:00
Matthias Beyer 98aa7bf716 Add test to test ref creation 2017-09-07 20:57:22 +02:00
Matthias Beyer 24985a2384 Add test for processing external link 2017-09-07 20:57:22 +02:00
Matthias Beyer 3cb2393c08 Add test for automatically creating linked entries 2017-09-07 20:57:22 +02:00
Matthias Beyer 0aea9151dd Add test for faulty link 2017-09-07 20:57:22 +02:00
Matthias Beyer 0b640e18be Add test to check whether internal links are parsed and set correctly 2017-09-07 20:57:22 +02:00
Matthias Beyer 0a60f5ca55 Add test for processing entry without links 2017-09-07 20:57:22 +02:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 86fae34d0d Merge pull request #1056 from matthiasbeyer/libimagstore/rewrite-store-entries-fn
Rewrite Store::entries() implementation
2017-09-06 17:39:44 +02:00
Matthias Beyer 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
Matthias Beyer 9d8a8f0bf4 Fix Store loading in tests: Use in-memory store backend 2017-09-05 22:00:58 +02:00
Matthias Beyer 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
Matthias Beyer 6d1dab3117 Merge pull request #1029 from matthiasbeyer/all-extensions-as-traits
All extensions as traits
2017-09-04 21:59:54 +02:00
Matthias Beyer 39dd9e8d7c Add Task trait for getting UUID from task 2017-09-04 09:20:14 +02:00
Matthias Beyer 72ea21ee1f Rename module task -> taskstore 2017-09-04 09:20:14 +02:00
Matthias Beyer 18e806f588 Remove dedicated result modules, use error chain generated Result types 2017-09-04 09:19:29 +02:00
Matthias Beyer eefcfd02dc Allow generated fns from macros to be unused 2017-09-03 22:01:40 +02:00
Matthias Beyer 7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
Matthias Beyer 28d7085b2d Remove error_chain dependency, not needed 2017-09-03 21:33:55 +02:00
Matthias Beyer 936a314efa libimagtodo: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer a5bb7a9bec libimagtimetrack: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 22cff91653 libimagmail: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 677a5e8886 libimagdiary: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 31dc0eebc2 libimagcounter: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer c9dbf76395 libimagbookmark: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 5b781702cc libimagentryview: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 0ede39a991 libimagentrytag: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 8d8a91e7c5 libimagentrycategory: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 262aae39f4 libimagentryannotation: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer d443b83b52 libimagentrydatetime: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 0b068df84e libimagnotes: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 22be1627b7 libimagentryref: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer bb6956740d libimagentrymarkdown: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 9aa5d7439d libimagentrylist: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 4b4b0b0804 libimagentryedit: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer ca0dd5906d libimagentrylink: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer ac34b4ee66 libimaginteraction: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer b6909a2c86 libimagrt: Rewrite error handling 2017-09-03 21:33:54 +02:00
Matthias Beyer 2df99524e7 libimagstore: rewrite error handling code 2017-09-03 21:33:54 +02:00
Matthias Beyer 603808a9fa Impl IntoError for error kinds 2017-09-03 15:42:06 +02:00
Matthias Beyer 9713a4632c Remove error_gen module entirely 2017-09-03 15:42:06 +02:00
Matthias Beyer a309fdb280 Add recursion limits to crates 2017-09-03 15:42:06 +02:00
Matthias Beyer 11d881d3a9 Add dependency to crates: error_chain = 0.10 2017-09-03 15:42:06 +02:00
Matthias Beyer e77d353c52 Rewrite macros to do error-chain behind the scenes 2017-09-03 15:42:03 +02:00
Matthias Beyer 4908cc6aaa Add more helpers 2017-09-03 13:48:05 +02:00
Matthias Beyer 0683bf198b Fix recursion problem 2017-09-03 13:48:05 +02:00
Matthias Beyer 93444be412 Light code cleanup 2017-09-03 13:48:05 +02:00
Matthias Beyer 64f96092cd Fix aggregation 2017-09-03 13:48:05 +02:00
Matthias Beyer 482377abb9 Actually print error here (as logging isnt initialized at this point) 2017-09-03 13:48:05 +02:00
Matthias Beyer 5ec1cd48a0 Implement format-fetching from config/cli 2017-09-03 13:48:05 +02:00
Matthias Beyer ae24954020 Implement templating 2017-09-03 13:48:05 +02:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer b32245b03a Bugfix: Fix macro to use the appname instead of hardcoded values 2017-09-02 10:41:38 +02:00
Matthias Beyer b787ef1696 Move tagging UI code to binary 2017-09-02 10:16:56 +02:00
Matthias Beyer 1a244a3d6b Add setget test 2017-09-01 20:35:30 +02:00
Matthias Beyer eb32027546 Add test setup with first test 2017-09-01 20:35:30 +02:00
Matthias Beyer 3bad9e2e92 Add entry module 2017-09-01 20:35:30 +02:00
Matthias Beyer 90b3ae1f70 Add base types for the API 2017-09-01 20:35:30 +02:00
Matthias Beyer c2343eda67 Add error, result module 2017-09-01 20:35:30 +02:00
Matthias Beyer fb2dd3017a Initial import 2017-09-01 20:35:30 +02:00
Matthias Beyer 048517a3c2 Fix readme links in cargo metadata 2017-09-01 18:48:02 +02:00
Matthias Beyer 21c15ca207 Adapt imag-diary to compile with the new libimagdiary API 2017-09-01 11:04:07 +02:00
Matthias Beyer 31fa07d43a Add another small helper 2017-09-01 11:04:07 +02:00
Matthias Beyer 95b7da1ed2 Impl Entry (now DiaryEntry) as trait 2017-09-01 11:04:06 +02:00
Matthias Beyer 9c69645b69 Implement Diary as trait 2017-09-01 11:04:06 +02:00
Matthias Beyer 7e4275c420 Remove unused crate import 2017-08-31 20:56:13 +02:00
Matthias Beyer 6a8af5ef01 Remove unused imports 2017-08-31 20:56:13 +02:00
Matthias Beyer ec639be3e1 Fix artifacts from libimagstore::toml_ext times 2017-08-31 20:56:13 +02:00
Matthias Beyer 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
Matthias Beyer e338fef98e Remove duplicated key 2017-08-31 20:56:12 +02:00
Matthias Beyer 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
Matthias Beyer a710a5b72b Remove unused variable 2017-08-31 10:57:19 +02:00
Matthias Beyer 991fd7c3d4 Remove unused variable 2017-08-31 10:57:19 +02:00
Matthias Beyer ac804bd839 Remove unused keyword "mut" where not needed 2017-08-31 10:57:11 +02:00
Matthias Beyer 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
Matthias Beyer cee0287ee2 Merge pull request #1026 from matthiasbeyer/libimagentryref/extension-as-trait
libimagentryref: Extensions as Traits
2017-08-28 21:27:32 +02:00
Matthias Beyer 6d40797a07 Fix libimagmail to use new libimagentryref interface 2017-08-28 14:32:50 +02:00
Matthias Beyer d58b97fdf1 Light refactoring
Use .map_err_into() instead of manual wrapping,
some boilerplate minimized.
2017-08-28 14:32:50 +02:00
Matthias Beyer cf19e0563c Reorganize functionality in traits 2017-08-28 14:32:50 +02:00
Matthias Beyer c987130cc1 Merge pull request #1018 from matthiasbeyer/remove-toml-ext
Remove toml ext
2017-08-28 14:10:40 +02:00
Matthias Beyer c0c62bd1b5 Change crates to use toml-query crate 2017-08-28 12:22:37 +02:00
Matthias Beyer 3024fefcb9 Remove toml_ext module 2017-08-28 12:22:13 +02:00
Matthias Beyer 43ca0b43b1 Move "Header" trait for toml::Value to store module 2017-08-28 12:22:13 +02:00
Matthias Beyer 4b42b3328d Rewrite libimagentrylink::external::Link to be a trait 2017-08-28 10:31:13 +02:00
Matthias Beyer 75e42d2f0b Fix errors (former warnings) in several crates
This fixes errors (former warnings) in several locations.
2017-08-27 20:08:03 +02:00
Matthias Beyer 286de656df Handle UTF-8 Errors by returning 2017-08-27 20:08:03 +02:00
Matthias Beyer 7a7ea5c211 Add debug messages 2017-08-27 20:08:03 +02:00
Matthias Beyer d0f8002682 Ensure deny() for warnings is in all crates 2017-08-27 20:08:03 +02:00
Matthias Beyer 9081a2d58d Fix libimag(entry)ref name 2017-08-27 18:57:59 +02:00
Matthias Beyer 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
Matthias Beyer 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
Matthias Beyer 59a3662ac4 Reorganize code in subdirs 2017-08-27 15:12:09 +02:00