Matthias Beyer
42c4186dec
Use or_else() instead of or()
2018-04-25 19:13:50 +02:00
Matthias Beyer
80c07171aa
Make sure we can deserialize
...
Use default values when field is not there when we deserialize. This
does automatically the right thing.
2018-04-25 13:45:00 +02:00
Matthias Beyer
56c1b78d93
Add getters for DeserVcard helper type
2018-04-25 13:45:00 +02:00
Matthias Beyer
abc142f4b5
Rewrite library
...
libimagcontact stores all contact information in the entry header now.
2018-04-25 12:54:01 +02:00
Matthias Beyer
3eab3af7b0
Remove all libimagentryref usage
2018-04-25 11:30:42 +02:00
Matthias Beyer
775508a6ed
Refactor: Use AsRef<str> instead of String as arg type
2018-04-24 23:12:14 +02:00
Matthias Beyer
488ce9fe91
Clippy fixes
2018-04-24 23:12:14 +02:00
Matthias Beyer
524c391ee0
Remove unused dependency
2018-04-24 22:16:40 +02:00
Matthias Beyer
563c76c375
Remove "stdio" file abstraction from store implementation
2018-04-24 22:16:40 +02:00
Matthias Beyer
19e0471f5b
Remove tests with JsonMapper in backend
2018-04-24 22:16:40 +02:00
Matthias Beyer
ba453323ba
Remove support for changing store backend
2018-04-24 22:16:40 +02:00
Matthias Beyer
d12844aff0
Add markdown viewer functionality
2018-04-24 18:06:45 +02:00
Matthias Beyer
55d9b5456f
Adapt to new libimagentryview interface
...
And properly implement Viewer for DiaryViewer
2018-04-24 16:46:15 +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
5666ef12d0
Rewrite to not use Store::retrieve_for_module()
2018-04-24 14:01:40 +02:00
Matthias Beyer
2c52957b63
Replace call to retrieve_for_module() with entries()
...
The iterator type handles everything else.
2018-04-24 13:40:42 +02:00
Matthias Beyer
190da895f9
Do not use Store::retrieve_for_module() anymore here
2018-04-24 13:40:42 +02:00
Matthias Beyer
22fb26dc12
Replace Store::retrieve_for_module() with own iterator type
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
255f4211c9
Rewrite use of iterator with own iterator implementation
2018-04-24 13:40:42 +02:00
Matthias Beyer
bae9188a08
Remove GlobStoreIdIterator helper iterator type
2018-04-24 13:40:42 +02:00
Matthias Beyer
d70092d691
Remove: Store::retrieve_for_module
2018-04-24 13:40:42 +02:00
Matthias Beyer
9303a72a28
Merge pull request #1436 from matthiasbeyer/imag-log/show-ordered
...
Fix: imag-log show should order by datetime
2018-04-22 15:55:25 +02:00
Matthias Beyer
93226ce987
Merge pull request #1434 from matthiasbeyer/libimagdiary/fix-youngest-entry
...
Fix: get_youngest_entry_id()
2018-04-22 15:06:26 +02:00
Matthias Beyer
ee75d2309c
Fix: imag-log show should order by datetime
2018-04-22 14:33:53 +02:00
Matthias Beyer
86b60295ee
Fix: get_youngest_entry_id()
...
We need to reverse the iterator for getting the _youngest_ entry here.
Also seems to fix the issue that imag-diary edit -d <date> did not work
properly.
2018-04-22 14:11:19 +02:00
Matthias Beyer
19940d3e1c
Set version string by hand here if we do not build with cargo
2018-04-22 13:38:24 +02:00
Matthias Beyer
8262de29fe
Update dependency: log: 0.4.0-rc.1 -> 0.4
2018-04-20 20:19:02 +02:00
Matthias Beyer
d08a5ab536
Merge pull request #1417 from matthiasbeyer/libimagrt/suggest-imag-init
...
Suggest imag-init if no config is found
2018-04-20 09:24:44 +02:00
Matthias Beyer
91a72709f8
Add wrapping functionality to StdoutViewer
2018-04-19 21:54:39 +02:00
Matthias Beyer
808689cc05
Suggest imag-init if no config is found
2018-04-19 10:57:13 +02:00
Matthias Beyer
d2dceb6640
Update version numbers: 0.7.0 -> 0.8.0
2018-04-19 10:05:53 +02:00
Matthias Beyer
38726c5906
Always use stdout via output proxy
...
The switching between stdout and stderr on an automated basis caused
errors in the using code, where output was redirected but shouldn't.
2018-04-18 17:58:07 +02:00
Matthias Beyer
542c7e7101
Make stdin always available
...
Because we do not implement the store piping and pipe magic, the stdin
stream should always be available.
2018-04-18 17:42:04 +02:00
Matthias Beyer
4568b1f625
Merge pull request #1380 from matthiasbeyer/minor
...
Minor patches
2018-04-18 16:46:41 +02:00
Matthias Beyer
51205af668
Merge pull request #1400 from matthiasbeyer/imag-wiki/init
...
imag-wiki: init
2018-04-18 15:42:27 +02:00
Matthias Beyer
95d3fbebcc
Merge pull request #1182 from matthiasbeyer/libimagwiki/init
...
libimagwiki: init
2018-04-18 15:13:56 +02:00
Matthias Beyer
9daf2cae86
Update dependency: task-hookrs: master -> 0.5
2018-04-18 14:59:26 +02:00
Matthias Beyer
adede7bf26
Remove notion of "main page"
2018-04-18 14:32:23 +02:00
Matthias Beyer
6f16924514
Remove functionality to delete whole wiki
2018-04-18 14:32:09 +02:00
Matthias Beyer
88b57910df
Merge pull request #1403 from matthiasbeyer/remove-pipe-magic
...
Revert "Implement pipe magic in libimagrt"
2018-04-17 17:39:54 +02:00
Matthias Beyer
98f8366e4c
Fix documentation in crate metadata
2018-04-17 15:55:08 +02:00
Matthias Beyer
d7cfab797f
Revert "Implement pipe magic in libimagrt"
...
This reverts commit ce0bd9298a
.
Pipe magic is removed with this patch.
We remove pipe magic because its implementation in libimagstore is too
complicated and the benefits are too small.
Having this functionality would be really nice, but the cost-benefit
ratio would still be too high.
The implementation in the store would require a rewrite of the internal
caching functionality in the store, plus some functionality to serialize
and deserialize the cache. This is theoretically possible, but as the
store only knows about "StoreEntry" objects, and only the backend knows
of "Entry" (which would be simply de/serializeable), the complexity
increases a _lot_.
Hence, we drop this feature-idea here.
Maybe, at some later point, this functionality will be in imag. The
history of development of this feature is in the history, we just don't
have it merged.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2018-04-16 13:30:59 +02:00
Matthias Beyer
816708a1aa
Add documentation for type
2018-04-16 10:53:23 +02:00
Matthias Beyer
8928f9cb94
Automatically create "index" and link new pages
2018-04-16 10:53:23 +02:00
Matthias Beyer
5e51a77b3f
Add logging output
2018-04-15 10:27:33 +02:00
Matthias Beyer
918d7a76b6
Add Wiki::delete_entry()
2018-04-15 10:27:09 +02:00
Matthias Beyer
2b8a83d9a7
Add entry getter function
2018-04-15 10:27:09 +02:00
Matthias Beyer
c242a362e4
Add id iterator
2018-04-15 10:27:09 +02:00
Matthias Beyer
bb0d4319c3
Initial import: libimagwiki
2018-04-15 10:27:09 +02:00
Matthias Beyer
899f3b9eb9
Update dependency: toml-query: 0.4 -> 0.6
2018-04-15 09:15:16 +02:00
Matthias Beyer
0f19b7e4b2
Use --verbose with "info" level by default
2018-04-15 08:38:11 +02:00
Matthias Beyer
c0607ba2e2
Fix log level setting in runtime
...
Do not immediately set log level to Level::Info if argument is present,
but check value, too.
2018-04-14 21:27:16 +02:00
Matthias Beyer
604f350340
Add logging in store
2018-04-14 16:55:36 +02:00
Matthias Beyer
fb4917d050
Remove feature to generate commandline completion scripts
2018-04-14 14:35:28 +02:00
Matthias Beyer
207346bea0
Add lints
2018-04-14 00:41:31 +02:00
Matthias Beyer
40b85f13b5
Add lints
2018-04-14 00:41:31 +02:00
Matthias Beyer
d02b298d5a
Add lints
2018-04-14 00:41:31 +02:00
Matthias Beyer
a40d90fef2
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
00b6f4ded3
Merge pull request #1394 from matthiasbeyer/libimagentryref/fix-path-when-making-ref
...
Fix: Pass the right path variable here
2018-04-13 15:54:38 +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
ae5c4cf9ba
Fix: view entries sorted
2018-04-13 13:41:02 +02:00
Matthias Beyer
c27dc79afe
Merge pull request #1383 from matthiasbeyer/libimagrt/handler-exit-if-subcommand-not-found
...
libimagrt: Exit if handler does not find subcommand
2018-04-08 22:21:19 +02:00
Matthias Beyer
16a76f6213
Exit if handler does not find subcommand
2018-04-08 20:38:46 +02:00
Matthias Beyer
2017874a8b
Add debug output
2018-04-08 20:29:14 +02:00
Matthias Beyer
c5c9c7b9ba
Fix: Editor commands should be split at whitespace
...
This fixes the following problem:
If the editor setting was "vim " instead of "vim", the editor was called
with `"vim" " "`, which resulted in unexpected behaviour.
The patch fixes this.
2018-04-08 20:28:11 +02:00
Matthias Beyer
a769186cd7
Make iterator lifetimes less restricting
2018-04-07 13:55:54 +02:00
Matthias Beyer
93195b3bad
Default clap app builder: Allow external subcommands
2018-04-04 19:34:13 +02:00
Matthias Beyer
cb8b5a0cf6
Add helper for handling unknown subcommands
2018-04-03 18:23:01 +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
ea38f2ffbf
Fix: Pass /dev/tty as stdin for editor
...
This fixes the issue that spawning the editor trashes the terminal.
The signature of the Runtime::editor() function changed, which has to be
fixed in using code.
2018-03-23 23:55:06 +01:00
Matthias Beyer
13af364b76
Add header editing support
2018-03-23 17:16:40 +01:00
Matthias Beyer
9e0d0d9f6c
Add Entry::replace_from_buffer()
2018-03-23 15:44:34 +01:00
Matthias Beyer
aa32dd1ec2
Add debugging output if kairos fails to parse input
2018-03-23 10:05:58 +01:00
Matthias Beyer
6f33e4e322
Add debug output
2018-03-23 10:05:58 +01:00
Matthias Beyer
bcdbb8197a
Use "ui" module in libimagtimeui
2018-03-23 10:05:58 +01:00
Matthias Beyer
7e623f39b8
Add message why panic
...
So we see that when grepping the source for `unimplemented!()`.
2018-03-23 10:05:58 +01:00
Matthias Beyer
835c003491
Merge pull request #1360 from matthiasbeyer/libimaghabit/create-vs-retrieve
...
Fix: Use retrieve in retrieve variant
2018-03-23 10:03:52 +01:00
Matthias Beyer
96f4f93ed0
Merge pull request #1356 from matthiasbeyer/libimaghabit/link-new-instances
...
Fix: libimaghabit::habit::HabitTemplate should link created instances…
2018-03-23 10:03:44 +01:00
Matthias Beyer
c39a1f82e2
Merge pull request #1355 from matthiasbeyer/libimagstore/create-semantic-fix
...
Fix: Store::create() should fail if the entry exists
2018-03-22 22:04:29 +01:00
Matthias Beyer
30233456df
Fix: Use retrieve in retrieve variant
2018-03-22 21:34:00 +01:00
Matthias Beyer
b62d7eab85
Fix: libimaghabit::habit::HabitTemplate should link created instances to the template
2018-03-22 21:32:58 +01:00
Matthias Beyer
c857f97287
Merge pull request #1357 from matthiasbeyer/libimaghabit/create-vs-retrieve
...
Libimaghabit/create vs retrieve
2018-03-22 21:20:26 +01:00
Matthias Beyer
41f7bab1c5
Fix: Store::create() should fail if the entry exists
2018-03-22 21:16:11 +01:00
Matthias Beyer
e4fc2e8010
Merge pull request #1354 from matthiasbeyer/libimaghabit/check-is-done-for-date
...
Add helper to check whether an instance exists for a date
2018-03-22 14:36:32 +01:00
Matthias Beyer
247b9499a7
Refactor for less verbose code
2018-03-22 14:00:10 +01:00
Matthias Beyer
2232f0153f
Dedup code
2018-03-22 13:54:15 +01:00
Matthias Beyer
964b168f18
Add "retrieve" variants for retrieving instances
...
and fix create implementation to use `Store::create()`, which did the
wrong thing.
2018-03-22 13:51:12 +01:00
Matthias Beyer
45fdeb4e18
Add helper to check whether an instance exists for a date
2018-03-22 13:44:41 +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
a23afa7772
Ensure command and args are provided correctly
2018-03-13 08:32:40 +01:00
Matthias Beyer
b8c3f7f834
Read editor from configuration, ignore errors
2018-03-13 08:32:40 +01:00
Matthias Beyer
fb9866bd46
Merge pull request #1342 from matthiasbeyer/libimagentryedit/fix-editor-stdinerr-inherit
...
libimagentryedit: fix editor stdinerr inherit
2018-03-12 21:14:01 +01:00