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
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
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
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
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
e78bde72c1
Implement add_command() with backend
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
0a026002b0
Pass CommandEnv struct to command exec function
...
So we can add parameters rather easily.
Also define CommandResult as result type.
2015-12-02 12:24:05 +01:00
9bf9f96ab1
Fix: ModuleError::mk() -> pub ModuleError::new()
2015-12-02 12:24:05 +01:00
18ea01b854
Pass StorageBackend to subcommand function
2015-12-02 12:24:05 +01:00
4a73a317d4
Move submodule commands/mod.rs to commands.rs
2015-12-02 12:24:05 +01:00
e10d1bcb65
Reimplement commands for bm
2015-12-02 12:24:05 +01:00
24a6e961af
Change get_commands() for latest trait change
2015-12-02 12:24:05 +01:00
8af9ba48c0
We dont need the command traits anymore
2015-12-02 12:24:05 +01:00
84571bef0a
get_commands() can return a HashMap<str, fn()>, which is command name -> command function
2015-12-02 12:24:05 +01:00
8404303dbd
Remove BMModule::execute() which is not required by the trait anymore
2015-12-02 12:24:05 +01:00
168852714a
Add modules for commands of BM module
2015-12-02 12:24:05 +01:00
55361f71fe
Add struct for passing environment of command to command execute function
2015-12-02 12:24:05 +01:00
a9a33321f7
Make command submodule public
2015-12-02 12:24:05 +01:00
f94f8870e9
The exec() function of an ExecutableCommand should get the CLI matches as well
2015-12-02 12:24:05 +01:00
4af971a5d0
Make these types public
2015-12-02 12:24:05 +01:00
cbd85b3d8e
Module should only provide functionality to get a list of commands it can execute
...
These commands can then be executed.
2015-12-02 12:24:05 +01:00
86286cce1b
Remove livetimes
2015-12-02 12:24:05 +01:00
bfccbc32c5
Add BMModule::add() implementation
2015-12-02 12:24:05 +01:00
0896f2093b
Fixed inverted logic in get_tags()
2015-12-02 12:24:05 +01:00
006724a184
Refactor get_tags to return no Option
2015-12-02 12:24:05 +01:00
51f6af6346
We should really use String here
2015-12-02 12:24:05 +01:00
cd72295c1a
Add function to build header content
2015-12-02 12:24:05 +01:00
9f29f0e1b7
Reject tasks if they contain spaces
2015-12-02 12:24:05 +01:00
8cffdddab2
Split header spec into smaller functions
2015-12-02 12:24:05 +01:00
b76d38f4c6
Rewrite Bookmark FileHeaderSpec
...
One file is one bookmark, so we should have the appropriate header spec
for this.
2015-12-02 12:24:05 +01:00
07f223bb8a
Add header module with spec
2015-12-02 12:24:05 +01:00
de843541f1
Add some debugging output in bm module
2015-12-02 12:24:05 +01:00
15a2480604
Add information on what gets done
2015-12-02 12:24:05 +01:00
750f4cd31c
Start adding the BM submodule
2015-12-02 12:24:05 +01:00
869cc5e5ab
Fix: unused import
2015-11-27 16:59:51 +01:00
56612cf1a0
Fix: unused import
2015-11-27 16:59:44 +01:00
99a2670803
Add module/command trait
2015-11-10 20:43:53 +01:00
ba91e7ee26
The module itself has to be populate the Command instance
...
This will be done by the module returning a lambda to build the
command instance.
2015-11-10 20:43:35 +01:00
f4dbec72ee
Add storage/backend setup
2015-11-10 20:43:30 +01:00
e73701ace4
Remove old todo module code
2015-11-10 20:33:47 +01:00
7f224e8f58
Replace all output with macros from logging library
2015-10-26 20:58:52 +01:00
9fb50dac68
Fix type for ModuleError::mk()
2015-10-25 19:54:54 +01:00
4d83b7c63f
Implement Module for TodoModule
2015-10-25 18:43:47 +01:00
911384331b
Add ModuleError
2015-10-25 18:43:47 +01:00
7036f93936
Fixup TodoModule::new()
2015-10-25 18:43:47 +01:00
c50d097831
Cleanup module confusion
2015-10-25 18:43:47 +01:00
63daf452dc
Add todo module
2015-10-25 18:43:47 +01:00
034d71b21d
Rewrite
2015-10-25 18:43:46 +01:00
bff720018c
Module trait cleanups
2015-10-25 18:43:46 +01:00