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.
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.
The imag-view command was redesigned with this change. It now looks up
view-templates in the config and calls them with the "in" subcommand.
This way, an entry can be viewed with editor, browser or whatever one
likes.
Compiling markdown is not supported yet.
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.
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.