Commit Graph

290 Commits

Author SHA1 Message Date
Matthias Beyer 5f305ef7a7 Add module for category handling 2018-04-26 12:05:28 +02:00
Matthias Beyer c26f1aae2a This module should be named "entry" 2018-04-26 11:20:40 +02:00
Matthias Beyer f321aa82a1 Make sure category is linked when setting it 2018-04-26 11:20:09 +02:00
Matthias Beyer ea80a5a09b Derive Default for InMemoryFileAbstraction, remove constructor 2018-04-25 19:15:07 +02:00
Matthias Beyer d12844aff0 Add markdown viewer functionality 2018-04-24 18:06:45 +02:00
Matthias Beyer 780dd90c8f Rewrite libimagentryview interface
In the previous versions, the sink (where the entries should be written
to) was not passed.

This did conflict with the libimagrt holding the stdout/stderr handles,
because it automatically writes to stdout (which we don't want to do in
some cases).

Passing the sink is way nicer. This patch changes libimagentryview so
that the sink is passed to the viewer.
2018-04-24 16:46:15 +02:00
Matthias Beyer 190da895f9 Do not use Store::retrieve_for_module() anymore here 2018-04-24 13:40:42 +02:00
Matthias Beyer 007c02c2f1 Rewrite all_category_names() for removed Store::retrieve_for_module() 2018-04-24 13:40:42 +02:00
Matthias Beyer 91a72709f8 Add wrapping functionality to StdoutViewer 2018-04-19 21:54:39 +02:00
Matthias Beyer d2dceb6640 Update version numbers: 0.7.0 -> 0.8.0 2018-04-19 10:05:53 +02:00
Matthias Beyer 4568b1f625
Merge pull request #1380 from matthiasbeyer/minor
Minor patches
2018-04-18 16:46:41 +02:00
Matthias Beyer 98f8366e4c Fix documentation in crate metadata 2018-04-17 15:55:08 +02:00
Matthias Beyer 40b85f13b5 Add lints 2018-04-14 00:41:31 +02:00
Matthias Beyer 76c8443e50
Merge pull request #1395 from matthiasbeyer/clap-text-wrap
Clap text wrap
2018-04-13 22:46:09 +02:00
Matthias Beyer 3819dabff1 Remove attribute
This fixes a crash with the (beta) compiler rustc 1.26.
2018-04-13 16:41:42 +02:00
Matthias Beyer aeec10bf76 Use clap with wrap_help feature 2018-04-13 16:19:10 +02:00
Matthias Beyer b59c234588 Use clap "^2.29" instead of ">=2.29" 2018-04-13 16:17:43 +02:00
Matthias Beyer 731b97cccb Fix: Pass the right path variable here
The ref library passed the wrong variable as path which caused the
setting in the entries to be wrong.

This patch fixes this.
2018-04-13 14:06:15 +02:00
Matthias Beyer e61ccc9561 Fix: Entry::to_str() should return Result<_>
Because serializing might fail.

Also fixes all usages of the API.
2018-03-26 14:24:42 +02:00
Matthias Beyer 7429754665 Rewrite edit_in_tmpfile() for new Runtime::editor() signature 2018-03-23 23:55:11 +01:00
Matthias Beyer 13af364b76 Add header editing support 2018-03-23 17:16:40 +01:00
Matthias Beyer 6f33e4e322 Add debug output 2018-03-23 10:05:58 +01:00
Matthias Beyer 3d7be3a1e0
Merge pull request #1349 from matthiasbeyer/libimagentryref/fixes
Fix: Allocating of buffer does not work as expected with Vec::with_ca…
2018-03-21 18:04:37 +01:00
Matthias Beyer d2eb4936b1 Fix: Allocating of buffer does not work as expected with Vec::with_capacity() 2018-03-20 16:51:19 +01:00
Matthias Beyer 5ceeacd6c8 Provide Ref::make_ref() for making a ref out of an existing entry 2018-03-19 14:18:02 +01:00
Matthias Beyer 6055520519 Provide unlink() to remove all links 2018-02-25 18:59:02 +01:00
Matthias Beyer 5773e8a6c8 Remove libimagentrylist 2018-02-20 15:02:46 +01:00
Matthias Beyer 027c4b3287 Remove usage of libimagentrylist 2018-02-20 15:02:46 +01:00
Matthias Beyer c36250e42f Adapt to new libimagentryref API 2018-02-19 12:15:31 +01:00
Matthias Beyer 1153fb180b Add function to delete a reference header entry 2018-02-19 12:14:32 +01:00
Matthias Beyer fd6a7f877a Remove private macro 2018-02-19 12:14:32 +01:00
Matthias Beyer a1a85f40d0 Add default generators 2018-02-19 12:14:32 +01:00
Matthias Beyer 2328c8b2b0 Take AsRef<str> rather than &String 2018-02-19 12:14:32 +01:00
Matthias Beyer cbb47cffcb Implement Ref functions 2018-02-19 12:14:32 +01:00
Matthias Beyer ed69fd4b35 Enrich error types 2018-02-19 12:14:32 +01:00
Matthias Beyer 81a8826740 Add impl for RefStore::{get,create,retrieve}_ref() 2018-02-19 12:14:32 +01:00
Matthias Beyer 1014f58cfc Rewrite interface 2018-02-19 12:14:32 +01:00
Matthias Beyer 73af121882 Remove old concepts 2018-02-19 12:14:32 +01:00
Matthias Beyer 30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +01:00
Matthias Beyer 8656a38c50 Update dependency: clap: 2.17 -> 2.29 2018-02-10 16:40:34 +01:00
Matthias Beyer 9d2900a7dc Compile clap with suggestions and color support 2018-02-10 16:40:34 +01:00
Matthias Beyer 3b710e082d Add missing Cargo.toml metadata 2018-02-10 14:11:46 +01:00
Matthias Beyer d5a9e4930d Update dates in license header
And add missing header in one file
2018-02-07 02:48:53 +01:00
Matthias Beyer de613c9ebd
Merge pull request #1227 from matthiasbeyer/libimagentryutil/filtered-iterators
libimagentryutil: filtered iterators
2018-02-01 20:22:12 +01:00
Matthias Beyer 3aa2e6edec Add iterator helper for filtering 2018-02-01 16:46:57 +01:00
Matthias Beyer eb6ab8f029 Add IsInCollection helper type 2018-02-01 16:46:57 +01:00
Matthias Beyer 3c1a0a51c9 Transform iterator to forget Store reference here 2018-02-01 16:46:38 +01:00
Matthias Beyer 8e931cd79f Change calls to into_get_iter() to not take argument 2018-02-01 16:46:38 +01:00
Matthias Beyer 7ecaad830c Refactor to use Iterator::fold() 2018-01-29 09:38:32 +01:00
Matthias Beyer 4bd156fdb3 Remove unecessary String instantiation 2018-01-29 09:38:32 +01:00
Matthias Beyer fcfc397fc8 env_logger: 0.5.0-rc.2 -> 0.5 2018-01-18 14:15:40 +01:00
Matthias Beyer 8d9c7dce4f env_logger: 0.5.0-rc.1 -> 0.5.0-rc.2 2018-01-15 11:22:09 +01:00
Matthias Beyer 635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
Matthias Beyer c45130ddd0 env_logger: 0.4.* -> 0.5.0-rc.1 2018-01-15 11:20:27 +01:00
Matthias Beyer f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
Matthias Beyer 68fedfb13a libimagentryutil: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer a34cae03e5 libimagentryref: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer e9ae81a2ce libimagentrylink: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 18a6e9b64e libimagentryfilter: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 6c36c97895 libimagentrydatetime: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 7176c130ff libimagentrycategory: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 163bf249ff libimagentryannotation: Replace read with typed read 2018-01-13 01:14:03 +01:00
Matthias Beyer 0c4be78223 Update dependency: toml-query -> 0.6 2018-01-13 01:14:03 +01:00
Matthias Beyer 7fb13acf15 Add Ref::is_ref() 2018-01-08 23:46:36 +01:00
Matthias Beyer 00d09e618e Use libimagentryutil::isa::Is in libimagentryannotation 2018-01-08 23:31:10 +01:00
Matthias Beyer a7c8fa1212 Add Is::set_isflag() helper function 2018-01-08 23:31:10 +01:00
Matthias Beyer a246144c26 Add Is helper trait 2018-01-08 23:31:10 +01:00
Matthias Beyer 2d83796ef2 Initial import: libimagentryutil 2018-01-08 23:31:10 +01:00
Matthias Beyer 824f88e4fd Refactoring: Use function chaining rather than matching 2018-01-05 13:32:31 +01:00
Matthias Beyer 66b0611103 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer dac817f318 Refactor: Use function chaining and new error type link 2018-01-05 11:37:09 +01:00
Matthias Beyer 1e2ac14d3b Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer c92e459e3a Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer 5db3d0c278 Refactor: Use function chaining rather than matching
And use a helper function for common functionality
2018-01-05 11:37:09 +01:00
Matthias Beyer feaa32196b Refactoring: Use function chaining rather than matching
Also introduce error links for this.
2018-01-05 11:37:09 +01:00
Matthias Beyer 3294a77346 Refactoring: Use function chaining rather than matching 2018-01-05 11:37:09 +01:00
Matthias Beyer 02f38fb209 Fix comments: Use two instead of three slashes 2018-01-04 19:34:55 +01:00
Matthias Beyer e518598351 Remove unneeded "mut" 2018-01-04 19:34:43 +01:00
Matthias Beyer 3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +01:00
Matthias Beyer 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
Matthias Beyer 13768322d2 Add flag and check whether to print empty table 2017-12-06 20:31:18 +01:00
Matthias Beyer b17772041f TableLister: If configured with index, also print index row 2017-12-03 21:20:23 +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 a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01: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 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 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 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 169107d569 Remove FoldResult 2017-09-30 10:45:10 +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 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 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 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 74a7208757 Fix: critical typo 2017-09-21 12:23:32 +02:00
Matthias Beyer 19c3bc829a Remove unused module 2017-09-20 18:41:54 +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 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 6228de1066 Query-path fixed 2017-09-15 23:01:45 +02:00
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 5271255ae3 Fix libimagentryannotation for changes in libimagnotes 2017-09-15 13:53:30 +02:00
Matthias Beyer 6aa695974c Add param to EntryAlreadyExists error 2017-09-10 10:48:50 +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 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 18e806f588 Remove dedicated result modules, use error chain generated Result types 2017-09-04 09:19:29 +02:00
Matthias Beyer 7ce44e8090 Remove "IntoError" trait, use error_chain functionality 2017-09-03 21:34:07 +02:00
Matthias Beyer 5b781702cc libimagentryview: Rewrite error handling 2017-09-03 21:33:54 +02:00