summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authormario <mario-krehl@gmx.de>2016-11-02 19:43:27 +0100
committermario <mario-krehl@gmx.de>2016-11-05 11:41:20 +0100
commit2644739e35ae768110d3504f46d232d18dfdabba (patch)
tree765453a1ad50342fdcf5e9e12d05e48237f79204 /bin
parentbf88a43a59f81341e436f73326e7117a30881dc4 (diff)
Change from types implementing build_ui to a mod for every binary.
Works with all available binaries. Code cleanup
Diffstat (limited to 'bin')
-rw-r--r--bin/build.rs90
1 files changed, 67 insertions, 23 deletions
diff --git a/bin/build.rs b/bin/build.rs
index 74fd4199..d762f6bf 100644
--- a/bin/build.rs
+++ b/bin/build.rs
@@ -1,47 +1,91 @@
extern crate clap;
extern crate libimagrt;
+extern crate libimagentrytag;
+extern crate libimagutil;
#[macro_use] extern crate version;
use clap::Shell;
use libimagrt::runtime::Runtime;
-include!("../imag-store/src/ui.rs");
-
macro_rules! gen_types_buildui {
($(($p:expr, $n:ident)$(,)*)*) => (
- trait _buildui_fn_type_trait {
- fn build_ui<'a>(app : App<'a, 'a>) -> App<'a, 'a>;
- }
$(
- struct $n;
- impl $n {
- pub fn new() -> Self {
- {}
- }
- }
- impl _buildui_fn_type_trait for $n {
+ mod $n {
include!($p);
}
)*
)
}
-gen_types_buildui!(("../imag-store/src/ui.rs", imagstore), ("../imag-todo/src/ui.rs", imagtodo));
+gen_types_buildui!(
+ ("../imag-bookmark/src/ui.rs", imagbookmark),
+ ("../imag-counter/src/ui.rs", imagcounter),
+ ("../imag-diary/src/ui.rs", imagdiary),
+ ("../imag-link/src/ui.rs", imaglink),
+ ("../imag-notes/src/ui.rs", imagnotes),
+ ("../imag-ref/src/ui.rs", imagref),
+ ("../imag-store/src/ui.rs", imagstore),
+ ("../imag-tag/src/ui.rs", imagtag),
+ ("../imag-todo/src/ui.rs", imagtodo),
+ ("../imag-view/src/ui.rs", imagview)
+ );
fn main() {
let mut app = Runtime::get_default_cli_builder(
"imag",
&version!()[..],
- "imag foo bar");
- let v = vec![("store", imagstore::new()), ("todo", imagtodo::new())];
- for (name, obj) in v {
- app
- .subcommand(
- obj::build_ui(Runtime::get_default_cli_builder(
- name,
- &version!()[..],
- name)));
- }
+ "imag")
+ .subcommand(
+ imagbookmark::build_ui(Runtime::get_default_cli_builder(
+ "bookmark",
+ &version!()[..],
+ "bookmark")))
+ .subcommand(
+ imagcounter::build_ui(Runtime::get_default_cli_builder(
+ "counter",
+ &version!()[..],
+ "counter")))
+ .subcommand(
+ imagdiary::build_ui(Runtime::get_default_cli_builder(
+ "diary",
+ &version!()[..],
+ "diary")))
+ .subcommand(
+ imaglink::build_ui(Runtime::get_default_cli_builder(
+ "link",
+ &version!()[..],
+ "link")))
+ .subcommand(
+ imagnotes::build_ui(Runtime::get_default_cli_builder(
+ "notes",
+ &version!()[..],
+ "notes")))
+ .subcommand(
+ imagref::build_ui(Runtime::get_default_cli_builder(
+ "ref",
+ &version!()[..],
+ "ref")))
+ .subcommand(
+ imagstore::build_ui(Runtime::get_default_cli_builder(
+ "store",
+ &version!()[..],
+ "store")))
+ .subcommand(
+ imagtag::build_ui(Runtime::get_default_cli_builder(
+ "tag",
+ &version!()[..],
+ "tag")))
+ .subcommand(
+ imagtodo::build_ui(Runtime::get_default_cli_builder(
+ "todo",
+ &version!()[..],
+ "todo")))
+ .subcommand(
+ imagview::build_ui(Runtime::get_default_cli_builder(
+ "view",
+ &version!()[..],
+ "view")))
+ ;
app.gen_completions("imag", Shell::Bash, env!("OUT_DIR"));
app.gen_completions("imag", Shell::Fish, env!("OUT_DIR"));
app.gen_completions("imag", Shell::Zsh, env!("OUT_DIR"));