Matthias Beyer
873efa7475
Add dep: itertools
2016-01-03 15:21:34 +01:00
Matthias Beyer
4721e44dd5
Make Markdown helper module pub
2016-01-03 15:21:11 +01:00
Matthias Beyer
4d3479291d
Refactor custom functionality in helper function
2016-01-03 14:51:21 +01:00
Matthias Beyer
7b99aee552
Rewrite markdown parsing, so we can extract links and quotes (and maybe more)
2016-01-03 14:51:15 +01:00
Matthias Beyer
c35cd7ef15
Add String to URL list helper with markdown parser
2016-01-03 14:51:05 +01:00
Matthias Beyer
7b14aafa9f
Notes: Add command_links() stub
2016-01-03 14:50:15 +01:00
Matthias Beyer
9ac388c2b6
Notes: Add command_edit()
2016-01-02 20:06:31 +01:00
Matthias Beyer
8ac798687a
Add File::set_data()
2016-01-02 20:06:31 +01:00
Matthias Beyer
6b105f41d2
Add: ui::external::editor::edit_content()
2016-01-02 20:06:21 +01:00
Matthias Beyer
ee2d96a9a2
Notes: command_add() -> let user provide content
2016-01-02 20:06:21 +01:00
Matthias Beyer
7ac5111cde
Fix let_user_provide_content()
2016-01-02 20:06:21 +01:00
Matthias Beyer
2b8bd86ce1
Runtime::editor() should provide a Command object
2016-01-02 20:06:21 +01:00
Matthias Beyer
ad1a0e7f47
configuration should return editor_opts() -> String
2016-01-02 20:06:21 +01:00
Matthias Beyer
d68d0088e8
main: Include Notes module
2016-01-02 20:06:21 +01:00
Matthias Beyer
db7a4abbd8
Notes: Implement command_set_tags
2016-01-02 20:06:21 +01:00
Matthias Beyer
445a9885cf
Notes: Implement command_rm_tags
2016-01-02 20:06:20 +01:00
Matthias Beyer
e42d7f7f8d
Notes: Implement command_add_tags()
2016-01-02 20:06:20 +01:00
Matthias Beyer
1bccf067bf
Provide header-rebuilder helper
2016-01-02 20:06:20 +01:00
Matthias Beyer
9227c4bb9a
Move header-altering helper to module generic helpers
...
This helper is for editing the header tags in some module-independent
way, so this piece of code is now moved to the module-generic helpers.
2016-01-02 20:06:20 +01:00
Matthias Beyer
6d02e3d486
Module trait: Module must be able to lend a Runtime object
2016-01-02 20:06:20 +01:00
Matthias Beyer
7cd429fe7e
Notes: Implement command_remove
2016-01-02 20:06:20 +01:00
Matthias Beyer
852b624417
Notes: Implement command_list()
2016-01-02 20:06:20 +01:00
Matthias Beyer
591717780a
Notes: Add helper to get name from header
2016-01-02 18:47:42 +01:00
Matthias Beyer
5cc4b4d079
Notes: Implement command_add()
2016-01-02 18:47:42 +01:00
Matthias Beyer
8a9f4c370e
Initial import of code for Notes module
2016-01-02 18:45:10 +01:00
Matthias Beyer
a49113cb5f
Refactor filter building into types which can be chained up
...
State before was to generate functions which can be used as filter()
arguments.
State now is that there are types which can be lined up and be executed
as filters. And/Or/Not-Filters are provided and so are helper functions
to initialize objects of these filter types.
The BM module is adapted for this.
2016-01-02 18:37:17 +01:00
Homu
a2037f3909
Auto merge of #45 - matthiasbeyer:bm-command-output, r=matthiasbeyer
...
Bm command output
Add info-output to some BM commands.
2016-01-03 00:30:10 +09:00
Homu
9a82ccd2d1
Auto merge of #44 - matthiasbeyer:bm-open-xdg, r=matthiasbeyer
...
Bm open xdg
Add subcommand to `BM` to open links via xdg.
Closes #28
2016-01-03 00:25:31 +09:00
Matthias Beyer
bdfaac0c76
Add info output to BM-add command
2016-01-02 16:15:30 +01:00
Matthias Beyer
4c95e403e9
Add information output to BM-remove
2016-01-02 16:09:44 +01:00
Matthias Beyer
89101719ad
Add bm-open command
2016-01-02 16:03:01 +01:00
Matthias Beyer
77d2b189fb
Configuration does not store verbose/debugging flag information
2016-01-02 15:39:57 +01:00
Matthias Beyer
6272bfd3a9
Refactor configuration: Simplify codebase
...
- fetch_config() exits if the config parsing fails
- Simplified the build process of the Configuration object
2016-01-02 15:37:06 +01:00
Matthias Beyer
745f57e480
ImagLogger can be configured through the CLI only now
2016-01-02 15:29:11 +01:00
Homu
bbcf0e2dba
Auto merge of #40 - matthiasbeyer:cleanup, r=matthiasbeyer
...
Cleanup
Codebase cleanup
2016-01-02 07:51:58 +09:00
Matthias Beyer
911c248c39
Store::remove(): Move function so we have a better order
2016-01-01 23:45:14 +01:00
Matthias Beyer
c681b24ef4
Store::load() should load, not Store::put_in_cache()
...
Store::put_in_cache (not put_into_cache) is now called inside ::load()
if the key is not yet in the cache.
The Store::load() function cached its interface for this. It can also be
used by the other functions in the Store object to load content.
2016-01-01 23:45:14 +01:00
Matthias Beyer
f802b00974
Rewrite Store::load_in_cache() to check cache before loading
2016-01-01 23:26:04 +01:00
Matthias Beyer
d6bd011d95
Add try!() around write!()
2015-12-30 23:02:05 +01:00
Matthias Beyer
37f3c90914
Remove dead code
2015-12-30 23:02:05 +01:00
Matthias Beyer
a2856d8671
Remove unused imports
2015-12-30 23:02:05 +01:00
Matthias Beyer
708f2bcff1
Added indent for readability
2015-12-30 18:50:09 +01:00
Matthias Beyer
37588a9f3d
Remove hello-world output
2015-12-30 18:48:28 +01:00
Matthias Beyer
8f46056a08
BM::command_list() add filter functionality
2015-12-30 15:14:26 +01:00
Matthias Beyer
7bbe1bb6d0
Refactor: Provide generic cli-to-filter-function generator
...
The refactors functions from the BM module into more generic functions
for all modules.
The previous state was, that there were functions in the BM module which
were used to load from the store and applying some filters.
The new state is that there are functions to generate the filter
functions which are then used to filter the loaded files from the store,
so we can apply some more functionality on the filtered list.
2015-12-30 15:06:22 +01:00
Matthias Beyer
09aa7d9ec3
Add debug output to text-from-header fetcher function
2015-12-30 15:06:02 +01:00
Matthias Beyer
d15d50d8a2
Refactor: Header helper code can use generic function
2015-12-30 15:05:52 +01:00
Matthias Beyer
eed57af0bb
module header helpers: Add function to get NAME from header
2015-12-30 15:05:47 +01:00
Homu
25045b7345
Auto merge of #34 - matthiasbeyer:doc, r=matthiasbeyer
...
Add some documentation
Still does not produce the documentation I want, though it basically works now.
2015-12-30 17:54:41 +09:00
Matthias Beyer
c106af5618
Remove all the crap and implement temp-file editor calling
2015-12-30 09:49:15 +01:00
Matthias Beyer
7248eef3be
configuration fixup editor
2015-12-30 03:02:19 +01:00
Matthias Beyer
bab5614247
runtime.rs: Add options to editor string
2015-12-30 02:53:41 +01:00
Matthias Beyer
70fbd3914e
configuration.rs: Add function to fetch editor options
2015-12-30 02:53:41 +01:00
Matthias Beyer
6ff2ac3567
cli.rs: Add function to fetch editor options
2015-12-30 02:53:41 +01:00
Matthias Beyer
6179c9e73f
runtime.rs: Add possibility to fetch editor
2015-12-30 02:53:41 +01:00
Matthias Beyer
4f8a545aac
cli.rs: Add possibility to fetch editor
2015-12-30 02:53:41 +01:00
Matthias Beyer
89878f7024
configuration.rs: Add possibility to fetch editor
2015-12-30 02:53:41 +01:00
Matthias Beyer
1647352a13
Use modules publicly, so "cargo doc" generates documentation
2015-12-30 02:10:50 +01:00
Matthias Beyer
c4a388925e
Add doc to util::is_url()
2015-12-29 18:20:56 +01:00
Matthias Beyer
43bf526740
Add docs to ui/file.rs
2015-12-29 18:20:56 +01:00
Matthias Beyer
2334b0bc8a
Add docs to FileHash
2015-12-29 18:20:56 +01:00
Matthias Beyer
d25a0dd1c0
Add docs to FileIDType
2015-12-29 18:20:56 +01:00
Matthias Beyer
d34143e516
Add docs to FileID
2015-12-29 18:20:56 +01:00
Matthias Beyer
6bcfc0a4b2
Add docs to File
2015-12-29 18:20:56 +01:00
Matthias Beyer
3a7bf9f4de
Add doc to parser code
2015-12-29 18:20:56 +01:00
Matthias Beyer
5791ba7b8d
Add doc to Store object implementation
2015-12-29 18:20:56 +01:00
Matthias Beyer
be233b8aba
Add docs to BM module
2015-12-29 18:20:56 +01:00
Matthias Beyer
ffcb951468
Add doc to module header helpers
2015-12-29 18:20:56 +01:00
Matthias Beyer
e9cee25ac8
Add doc to module helpers
2015-12-29 18:20:56 +01:00
Matthias Beyer
271c91e903
Add documentation on module helper utils
2015-12-29 18:20:56 +01:00
Matthias Beyer
dc181ba8eb
Add doc to Module trait
2015-12-29 18:20:56 +01:00
Matthias Beyer
89cc625133
runtime.rs: Add docs to functions
2015-12-29 18:20:56 +01:00
Matthias Beyer
bbc6218391
configuration.rs: Add documentation
2015-12-29 18:20:56 +01:00
Matthias Beyer
0d6f2b9500
cli.rs: Add documentation to functions
2015-12-29 18:20:56 +01:00
Matthias Beyer
808e44339a
Implement TempFileError and traits for it
2015-12-29 16:00:08 +01:00
Matthias Beyer
900ffcb7d1
Add ui submodules to talk to external programs, editor in this case
2015-12-29 16:00:08 +01:00
Matthias Beyer
e3b22d488d
Remove box-syntax in test
2015-12-29 15:10:09 +01:00
Matthias Beyer
e21da820c4
Fix test for to use FileID::parse()
2015-12-29 15:10:09 +01:00
Matthias Beyer
b5da0cb613
Fix use... in test modules
2015-12-29 15:01:35 +01:00
Matthias Beyer
248b5c7574
Merge branch 'debug'
2015-12-28 21:55:08 +01:00
Matthias Beyer
6ca4818302
Add File::set_header()
2015-12-28 21:51:08 +01:00
Matthias Beyer
68f66ca27d
Add BM::command_set_tags()
2015-12-28 21:51:08 +01:00
Matthias Beyer
bcbd568311
Add BM::command_rm_tags()
2015-12-28 21:51:08 +01:00
Matthias Beyer
7e401b5881
Add generic alter_tags_in_files() function
2015-12-28 21:51:08 +01:00
Matthias Beyer
966e9902cb
BM header helpers: Add set_tags_in_header()
2015-12-28 21:25:51 +01:00
Matthias Beyer
46b7ae9384
Add BM::command_add_tags()
2015-12-28 20:53:13 +01:00
Matthias Beyer
cbefa577e9
Use get_files() to filter files, remove afterwards
...
Change get_files() signature, so we know whether there was a filter
applied, so we can abort the action if there was no filter involved.
2015-12-28 19:46:59 +01:00
Matthias Beyer
e84986680d
Add functions to get files from Store by certain predicated (id, match, tags)
2015-12-28 19:42:35 +01:00
Matthias Beyer
db204f3cba
BM::command_add(): Add URL verification
2015-12-28 18:47:17 +01:00
Matthias Beyer
16d40e9bfe
Add util: is_url(String) -> bool
2015-12-28 18:47:17 +01:00
Matthias Beyer
9db5ffa842
Implement BM::command_remove()
2015-12-28 18:02:32 +01:00
Matthias Beyer
c2469b83ce
Add debug output to Store::load_in_cache()
2015-12-28 17:39:00 +01:00
Matthias Beyer
302549d194
Fixup Store::load_by_hash()
2015-12-28 17:39:00 +01:00
Matthias Beyer
3a5bb3a5ce
Add Store::load_by_hash()
2015-12-28 17:39:00 +01:00
Matthias Beyer
5a55636c65
Implement: BM: command_list()
2015-12-28 17:38:59 +01:00
Matthias Beyer
bd9abf3bc7
Add Store::load_in_cache(... FileID)
2015-12-28 17:38:59 +01:00
Matthias Beyer
7170f95825
BM header helpers: Add get_url_from_header()
2015-12-28 17:38:59 +01:00
Matthias Beyer
2e7621d2bd
Add header helpers for BM
2015-12-28 17:38:59 +01:00
Matthias Beyer
e346f56a8e
Fix: BM module name
2015-12-28 17:38:59 +01:00
Matthias Beyer
fda7fd56b9
Fix: Argument for BM::exec()
2015-12-28 17:38:59 +01:00
Matthias Beyer
523e6f8f66
Implement: BM::command_add()
2015-12-28 17:38:59 +01:00
Matthias Beyer
df27e5d2a3
BM subcommands: Pass ArgMatches
2015-12-28 17:38:59 +01:00
Matthias Beyer
c432e8c2c4
Add subcommand calling code
2015-12-28 17:38:59 +01:00
Matthias Beyer
81ead3c68c
Add debug output to FileID::parse()
2015-12-28 17:35:55 +01:00
Matthias Beyer
f24db1eb7d
Add debug output to Store::remove()
2015-12-28 17:35:55 +01:00
Matthias Beyer
e9ea485ed5
Add debug output to Store::load_in_cache()
2015-12-28 17:35:55 +01:00
Matthias Beyer
4ea83d538f
Add Store::load_by_hash()
2015-12-28 17:35:55 +01:00
Matthias Beyer
62ee1d4e96
Add Store::load_for_module()
2015-12-28 17:35:20 +01:00
Matthias Beyer
3a2c8b091e
Add Store::load_in_cache(... FileID)
2015-12-28 17:35:13 +01:00
Matthias Beyer
c6f31496ab
Module helpers: header: Add get_url_from_header()
2015-12-28 17:35:07 +01:00
Matthias Beyer
24e1ea2522
Fix: Debug for File implementation
2015-12-28 17:34:56 +01:00
Matthias Beyer
d20ace3e80
Add Store::ensure_store_path_exists()
2015-12-28 17:34:47 +01:00
Matthias Beyer
c97f4bab56
Add Store::remove(FileID)
2015-12-28 14:40:56 +01:00
Matthias Beyer
bb97778fbb
Rename table title
2015-12-28 14:30:45 +01:00
Matthias Beyer
1fde80800b
Allow the custom function to return an Vec<String> in the FilePrinter trait
2015-12-28 14:29:44 +01:00
Matthias Beyer
51605e1314
Impl FilePrinter for TablePrinter ::print_files_custom()
2015-12-28 13:56:53 +01:00
Matthias Beyer
6455c45630
Impl FilePrinter for SimplePrinter ::print_file_custom()
2015-12-28 13:56:38 +01:00
Matthias Beyer
f0c186f33b
Impl FilePrinter for DebugPrinter ::print_file_custom()
2015-12-28 13:56:20 +01:00
Matthias Beyer
fc42d6b4bf
FilePrinter: Add print_file_custom(), print_files_custom()
2015-12-28 13:56:01 +01:00
Matthias Beyer
74aab89fbb
ui: Change to take Rc<RefCell<File>> instead of File
2015-12-28 13:36:44 +01:00
Matthias Beyer
c8a0c1168d
Initialize store in Runtime object, pass store path directly into Store object
2015-12-28 00:39:55 +01:00
Matthias Beyer
656aa69bfd
Implement Store::persist()
2015-12-28 00:30:25 +01:00
Matthias Beyer
8145b21404
Fix: Parser::write() can get reference tuple
2015-12-28 00:29:45 +01:00
Matthias Beyer
0212fb1929
Fix: Add missing dash
2015-12-28 00:29:21 +01:00
Matthias Beyer
23e4152aaa
Implement Store::load()
2015-12-28 00:04:54 +01:00
Matthias Beyer
f29bcc7430
Store: Put file into cache, return FileID
2015-12-27 23:51:44 +01:00
Matthias Beyer
470f1b1378
Save only module name in File, not whole module
2015-12-27 23:46:08 +01:00
Matthias Beyer
f774effabb
File: Return inner contents as references, not cloned
2015-12-27 23:26:23 +01:00
Matthias Beyer
030b5fc888
Fixup Store
2015-12-27 23:18:55 +01:00
Matthias Beyer
c595f5a1e8
Move File-creation code to Store
2015-12-27 23:17:51 +01:00
Matthias Beyer
cb2c512440
Add Store type
2015-12-27 23:17:51 +01:00
Matthias Beyer
73c7281259
Make File members pub
2015-12-27 23:17:51 +01:00
Matthias Beyer
736c3784a9
Derive: Eq, PartialEq for FileID
2015-12-27 23:17:51 +01:00
Matthias Beyer
6676611f4b
Derive Hash for FileIDType
2015-12-27 23:02:34 +01:00
Matthias Beyer
f60c540ee5
Derive: Hash for FileID
2015-12-27 23:02:20 +01:00
Matthias Beyer
4c252577f2
Derive: Hash for FileHash
2015-12-27 23:02:06 +01:00
Marcel Müller
22b57d5ad9
Implement FromStr for FileIDType
2015-12-27 18:55:27 +01:00
Matthias Beyer
65aa98607e
Add File::persist()
2015-12-27 18:52:25 +01:00
Matthias Beyer
8029057b22
Add File::edit_contents()
2015-12-27 18:52:19 +01:00
Matthias Beyer
961fb27f99
Add File::edit()
2015-12-27 18:52:02 +01:00
Matthias Beyer
4cac382412
Fixup Into<str> for Path -> Impl as Into<String> for Path
2015-12-27 18:00:56 +01:00
Matthias Beyer
3273e77d24
Fixup Into<str> for Path
2015-12-27 18:00:56 +01:00
Matthias Beyer
312bcf9703
Fixup File::get_new_file_id()
2015-12-27 18:00:56 +01:00
Matthias Beyer
003efb6296
Fixup Into<str> for Path
2015-12-27 18:00:56 +01:00
Matthias Beyer
71bf650653
Fixup FileIDType::parse
2015-12-27 18:00:56 +01:00
Matthias Beyer
2585472349
impl Into<String> for FileID
2015-12-27 18:00:56 +01:00
Matthias Beyer
1fc1c73b4a
impl Into<String> for FileIDType
2015-12-27 18:00:56 +01:00
Matthias Beyer
fab2dece59
When generating a new FileID, use the FileHash type
2015-12-27 18:00:31 +01:00
Matthias Beyer
62150c5a61
Add missing lifetimes
2015-12-27 18:00:31 +01:00
Matthias Beyer
63bbede00f
Add missing 'use ...'
2015-12-27 18:00:31 +01:00