Commit graph

293 commits

Author SHA1 Message Date
f0969db47c Rewrite
This patch rewrites the whole libimagcategory and brings it to a nice
standard (the code before was rather messy).

Now, categories are represented by an entry in the store and all entries
which have this category are linked to that entry.
2018-04-26 12:05:28 +02:00
9fc9e7fe17 Outsource iterator in iter module 2018-04-26 12:05:28 +02:00
ab15d89e64 Rewrite CategoryRegister as CategoryStore 2018-04-26 12:05:28 +02:00
5f305ef7a7 Add module for category handling 2018-04-26 12:05:28 +02:00
c26f1aae2a This module should be named "entry" 2018-04-26 11:20:40 +02:00
f321aa82a1 Make sure category is linked when setting it 2018-04-26 11:20:09 +02:00
ea80a5a09b Derive Default for InMemoryFileAbstraction, remove constructor 2018-04-25 19:15:07 +02:00
d12844aff0 Add markdown viewer functionality 2018-04-24 18:06:45 +02:00
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
190da895f9 Do not use Store::retrieve_for_module() anymore here 2018-04-24 13:40:42 +02:00
007c02c2f1 Rewrite all_category_names() for removed Store::retrieve_for_module() 2018-04-24 13:40:42 +02:00
91a72709f8 Add wrapping functionality to StdoutViewer 2018-04-19 21:54:39 +02:00
d2dceb6640 Update version numbers: 0.7.0 -> 0.8.0 2018-04-19 10:05:53 +02:00
4568b1f625
Merge pull request #1380 from matthiasbeyer/minor
Minor patches
2018-04-18 16:46:41 +02:00
98f8366e4c Fix documentation in crate metadata 2018-04-17 15:55:08 +02:00
40b85f13b5 Add lints 2018-04-14 00:41:31 +02:00
76c8443e50
Merge pull request #1395 from matthiasbeyer/clap-text-wrap
Clap text wrap
2018-04-13 22:46:09 +02:00
3819dabff1 Remove attribute
This fixes a crash with the (beta) compiler rustc 1.26.
2018-04-13 16:41:42 +02:00
aeec10bf76 Use clap with wrap_help feature 2018-04-13 16:19:10 +02:00
b59c234588 Use clap "^2.29" instead of ">=2.29" 2018-04-13 16:17:43 +02:00
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
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
7429754665 Rewrite edit_in_tmpfile() for new Runtime::editor() signature 2018-03-23 23:55:11 +01:00
13af364b76 Add header editing support 2018-03-23 17:16:40 +01:00
6f33e4e322 Add debug output 2018-03-23 10:05:58 +01:00
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
d2eb4936b1 Fix: Allocating of buffer does not work as expected with Vec::with_capacity() 2018-03-20 16:51:19 +01:00
5ceeacd6c8 Provide Ref::make_ref() for making a ref out of an existing entry 2018-03-19 14:18:02 +01:00
6055520519 Provide unlink() to remove all links 2018-02-25 18:59:02 +01:00
5773e8a6c8 Remove libimagentrylist 2018-02-20 15:02:46 +01:00
027c4b3287 Remove usage of libimagentrylist 2018-02-20 15:02:46 +01:00
c36250e42f Adapt to new libimagentryref API 2018-02-19 12:15:31 +01:00
1153fb180b Add function to delete a reference header entry 2018-02-19 12:14:32 +01:00
fd6a7f877a Remove private macro 2018-02-19 12:14:32 +01:00
a1a85f40d0 Add default generators 2018-02-19 12:14:32 +01:00
2328c8b2b0 Take AsRef<str> rather than &String 2018-02-19 12:14:32 +01:00
cbb47cffcb Implement Ref functions 2018-02-19 12:14:32 +01:00
ed69fd4b35 Enrich error types 2018-02-19 12:14:32 +01:00
81a8826740 Add impl for RefStore::{get,create,retrieve}_ref() 2018-02-19 12:14:32 +01:00
1014f58cfc Rewrite interface 2018-02-19 12:14:32 +01:00
73af121882 Remove old concepts 2018-02-19 12:14:32 +01:00
30d2c28a22 Update version string: 0.6.0 -> 0.7.0 2018-02-11 14:22:24 +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
de613c9ebd
Merge pull request #1227 from matthiasbeyer/libimagentryutil/filtered-iterators
libimagentryutil: filtered iterators
2018-02-01 20:22:12 +01:00
3aa2e6edec Add iterator helper for filtering 2018-02-01 16:46:57 +01:00
eb6ab8f029 Add IsInCollection helper type 2018-02-01 16:46:57 +01:00
3c1a0a51c9 Transform iterator to forget Store reference here 2018-02-01 16:46:38 +01:00
8e931cd79f Change calls to into_get_iter() to not take argument 2018-02-01 16:46:38 +01:00
7ecaad830c Refactor to use Iterator::fold() 2018-01-29 09:38:32 +01:00
4bd156fdb3 Remove unecessary String instantiation 2018-01-29 09:38:32 +01:00
fcfc397fc8 env_logger: 0.5.0-rc.2 -> 0.5 2018-01-18 14:15:40 +01:00
8d9c7dce4f env_logger: 0.5.0-rc.1 -> 0.5.0-rc.2 2018-01-15 11:22:09 +01:00
635d000344 log: 0.4.0-rc.1 -> 0.4.0 2018-01-15 11:21:52 +01:00
c45130ddd0 env_logger: 0.4.* -> 0.5.0-rc.1 2018-01-15 11:20:27 +01:00
f209e12410 Update dependency: log: 0.3.* -> 0.4.0-rc.1 2018-01-15 11:20:07 +01:00
68fedfb13a libimagentryutil: Replace read with typed read 2018-01-13 01:14:03 +01:00
a34cae03e5 libimagentryref: Replace read with typed read 2018-01-13 01:14:03 +01:00
e9ae81a2ce libimagentrylink: Replace read with typed read 2018-01-13 01:14:03 +01:00
18a6e9b64e libimagentryfilter: Replace read with typed read 2018-01-13 01:14:03 +01:00
6c36c97895 libimagentrydatetime: Replace read with typed read 2018-01-13 01:14:03 +01:00
7176c130ff libimagentrycategory: Replace read with typed read 2018-01-13 01:14:03 +01:00
163bf249ff libimagentryannotation: 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
7fb13acf15 Add Ref::is_ref() 2018-01-08 23:46:36 +01:00
00d09e618e Use libimagentryutil::isa::Is in libimagentryannotation 2018-01-08 23:31:10 +01:00
a7c8fa1212 Add Is::set_isflag() helper function 2018-01-08 23:31:10 +01:00
a246144c26 Add Is helper trait 2018-01-08 23:31:10 +01:00
2d83796ef2 Initial import: libimagentryutil 2018-01-08 23:31:10 +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
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
3c8dd19d11 Update version strings: 0.5.0 -> 0.6.0 2017-12-25 19:17:07 +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
13768322d2 Add flag and check whether to print empty table 2017-12-06 20:31:18 +01:00
b17772041f TableLister: If configured with index, also print index row 2017-12-03 21:20:23 +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
a20871eb5e Add badges in Cargo.toml of all crates 2017-10-31 15:03:30 +01: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
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
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
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
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
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
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
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
74a7208757 Fix: critical typo 2017-09-21 12:23:32 +02:00
19c3bc829a Remove unused module 2017-09-20 18:41:54 +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
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
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
5271255ae3 Fix libimagentryannotation for changes in libimagnotes 2017-09-15 13:53:30 +02:00
6aa695974c Add param to EntryAlreadyExists error 2017-09-10 10:48:50 +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
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