diff options
author | mario <mario-krehl@gmx.de> | 2016-11-05 11:09:42 +0100 |
---|---|---|
committer | mario <mario-krehl@gmx.de> | 2016-11-05 11:42:02 +0100 |
commit | e652e944a831cf3dc9af1990b159a60a0d2f8038 (patch) | |
tree | 62211957813687d3c77b5ec492ab07a43cf0cb93 /bin | |
parent | 711810f8141d5d2519747f4da20f1dbc6db7800d (diff) |
Add build_subcommand! macro
Diffstat (limited to 'bin')
-rw-r--r-- | bin/build.rs | 74 |
1 files changed, 22 insertions, 52 deletions
diff --git a/bin/build.rs b/bin/build.rs index d762f6bf..47430eef 100644 --- a/bin/build.rs +++ b/bin/build.rs @@ -17,6 +17,15 @@ macro_rules! gen_types_buildui { ) } +macro_rules! build_subcommand { + ($name:expr, $module:ident) => ( + $module::build_ui(Runtime::get_default_cli_builder( + $name, + &version!()[..], + $name)) + ) +} + gen_types_buildui!( ("../imag-bookmark/src/ui.rs", imagbookmark), ("../imag-counter/src/ui.rs", imagcounter), @@ -28,66 +37,27 @@ gen_types_buildui!( ("../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") - .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"))) - ; + .subcommand(build_subcommand!("bookmark", imagbookmark)) + .subcommand(build_subcommand!("counter", imagcounter)) + .subcommand(build_subcommand!("diary", imagdiary)) + .subcommand(build_subcommand!("link", imaglink)) + .subcommand(build_subcommand!("notes", imagnotes)) + .subcommand(build_subcommand!("ref", imagref)) + .subcommand(build_subcommand!("store", imagstore)) + .subcommand(build_subcommand!("tag", imagtag)) + .subcommand(build_subcommand!("todo", imagtodo)) + .subcommand(build_subcommand!("view", imagview)); + 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")); } + |