dbf9ada732
Implement: FileID::from(&String), FileID::from(String)
2015-12-02 22:36:27 +01:00
2c3dd521b8
Add test: file_id_from_string()
2015-12-02 22:35:41 +01:00
9d0e4cfcb5
Add llvmPackages.lldb as debugger in default.nix
2015-12-02 17:08:41 +01:00
37bf18df7f
Merge branch 'abstract-fileid'
2015-12-02 13:43:29 +01:00
bcc9771f28
module/bm/commands: Use FileID::into()
2015-12-02 13:43:09 +01:00
557187fbd7
storage/file: Call FileID::new() to build FileID object
2015-12-02 13:43:09 +01:00
8ddfb090b4
ui/file: use FileID::into()
2015-12-02 13:43:09 +01:00
292e29a5f1
Backend: Use FileID::from()
2015-12-02 13:43:09 +01:00
d3bdb39468
Reimplement FileID as abstract type, use Into, From traits for conversion
2015-12-02 13:43:09 +01:00
3664c59a5e
Merge branch 'path-to-id'
2015-12-02 13:06:29 +01:00
e93aa4ceae
Refactor uses of file-id-parsing functions to ensure we honnor the Result type
2015-12-02 13:06:08 +01:00
3e94e1612f
Add FileIDResult<FileID, FileIDError>
2015-12-02 13:05:48 +01:00
80643c0c89
Merge branch 'bm' into master
2015-12-02 12:29:31 +01:00
05a9803c05
Fixup: Member name
2015-12-02 12:29:04 +01:00
9231049e30
Remove StorageBackend::build()
2015-12-02 12:28:41 +01:00
731d13e0ba
Create store path on storage backend creation
2015-12-02 12:24:05 +01:00
abee4d4904
Implement StorageBackend::remove_file()
2015-12-02 12:24:05 +01:00
4675f79aae
remove_command(): Be able to run in "checked" mode
2015-12-02 12:24:05 +01:00
c81d0bf0a8
Implement remove_command()
2015-12-02 12:24:05 +01:00
484b1fb865
Outsource file retrieving from list_command() into helper function
2015-12-02 12:24:05 +01:00
e6e56b9a92
Add flag --check / -c
...
We have to ensure that there are no references to this bookmark entry
from other modules.
2015-12-02 12:24:05 +01:00
6fcccc8297
Implement list_command
2015-12-02 12:24:05 +01:00
42181afde5
Add tags_of_file() to extract tags from a File
2015-12-02 12:24:05 +01:00
a6ed8e1080
Pass id as &FileID in StorageBackend::get_file_by_id()
2015-12-02 12:24:05 +01:00
103cba0c27
Add File::matches_with(&Regex)
2015-12-02 12:24:05 +01:00
e598a475e5
Use prettytable to implement TablePrinter
2015-12-02 12:24:05 +01:00
965779fcaf
Impl Debug for BMModule
2015-12-02 12:24:05 +01:00
e515a70ec2
Rewrite Debug for Module
2015-12-02 12:24:05 +01:00
043e607765
Implement StorageBackendError::cause()
2015-12-02 12:24:05 +01:00
f060c89751
Add helper for building file prefix
...
This helper builds the file prefix for the files of a module.
2015-12-02 12:24:05 +01:00
144398a2ad
Remove explanation member of StorageBackendError to reduce complexibility
2015-12-02 12:24:05 +01:00
83aa5afcbe
Build ModuleError out of StorageBackendError if any
2015-12-02 12:24:05 +01:00
c3019528cf
ModuleError needs a cause as well
2015-12-02 12:24:05 +01:00
4a6d1a74c0
Retry fixing the StorageBackend::cause()
2015-12-02 12:24:05 +01:00
366121b6ed
Reimplement StorageBackend::update_file()
2015-12-02 12:24:05 +01:00
eabf726846
Outsource file to string parsing
2015-12-02 12:24:05 +01:00
e0fefc3da4
Reimplement StorageBackend::put_file()
2015-12-02 12:24:05 +01:00
21d889e1e2
Add caused_by field in StorageBackend
2015-12-02 12:24:05 +01:00
455d6e88ed
Use real array instead of text array to save tags
2015-12-02 12:24:05 +01:00
cf1687e8ba
Convention: module names are lowercase
2015-12-02 12:24:05 +01:00
1038880de9
Save storepath in extra variable
2015-12-02 12:24:05 +01:00
8a2c41ea22
Fix: Build StorageBackend with runtime
2015-12-02 12:24:05 +01:00
e78bde72c1
Implement add_command() with backend
2015-12-02 12:24:05 +01:00
c9ebe3b7a1
Pass owner to file path builder helper function
2015-12-02 12:24:05 +01:00
98ec735ea3
Add File::owner() - a getter for the owner of a file
2015-12-02 12:24:05 +01:00
593e98ac5d
A File is bound to a Module
...
A File object must be bound to a Module, as one Module owns the File.
This way we can use the Module internally to build the file path later.
2015-12-02 12:24:05 +01:00
0d751f9ffd
Add some debug output in StorageBackend::build_filepath_with_id()
2015-12-02 12:24:05 +01:00
7531b5a6d7
Pass module to subcommand.
...
We need the module in the subcommand for building file paths and so on.
To be able to pass it, we must remove the ::new() function from the
trait, so we can make the parameter a trait object.
This is no object, as the module gets build non-generically from the
main(), so everything is fine with this.
2015-12-02 12:24:05 +01:00
ff873c8fe3
Transfer old code to new structure
2015-12-02 12:24:05 +01:00
08d6e8da13
We need to unwrap here (and it is save)
2015-12-02 12:24:05 +01:00