From b478d4e5dd1afe23f04e551ff0d0369ec1b6b6a0 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Sat, 20 Mar 2021 15:28:53 +0800 Subject: [PATCH] feat: init suggest process --- src/app/mod.rs | 1 + src/app/suggest/mod.rs | 1 + src/app/suggest/suggester.rs | 7 +++++++ src/bin/suggest.rs | 11 ++++++++++- src/bin/visual.rs | 6 +++--- src/domain/cli_opt/suggest_opt.rs | 4 ++++ src/domain/suggest/model_suggest.rs | 2 +- 7 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 src/app/suggest/mod.rs create mode 100644 src/app/suggest/suggester.rs diff --git a/src/app/mod.rs b/src/app/mod.rs index 4e95bdd1..0224b345 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -1,5 +1,6 @@ pub mod analysis; pub mod plugin_helper; +pub mod suggest; pub mod visual; pub use plugin_manager::PluginManager; diff --git a/src/app/suggest/mod.rs b/src/app/suggest/mod.rs new file mode 100644 index 00000000..e1b359c1 --- /dev/null +++ b/src/app/suggest/mod.rs @@ -0,0 +1 @@ +pub mod suggester; diff --git a/src/app/suggest/suggester.rs b/src/app/suggest/suggester.rs new file mode 100644 index 00000000..50a8341c --- /dev/null +++ b/src/app/suggest/suggester.rs @@ -0,0 +1,7 @@ +pub struct Suggester; + +impl Suggester { + pub fn run(_project: String) { + // let model: ModelSuggest = ModelSuggest::new(model); + } +} diff --git a/src/bin/suggest.rs b/src/bin/suggest.rs index 4edcf22b..c8106e77 100644 --- a/src/bin/suggest.rs +++ b/src/bin/suggest.rs @@ -1,9 +1,18 @@ use structopt::StructOpt; +use coco::app::suggest::suggester::Suggester; use coco::domain::SuggestOpt; +use coco::infrastructure::file_scanner; +use core_model::CocoConfig; fn main() { let opt: SuggestOpt = SuggestOpt::from_args(); - println!("found config file: {:?}", opt); + let config_file = &opt.config_file; + let _config = CocoConfig::from_file(config_file); + + let projects = file_scanner::lookup_projects(); + for project in projects { + Suggester::run(project); + } } diff --git a/src/bin/visual.rs b/src/bin/visual.rs index f14dd35d..253ef0e8 100644 --- a/src/bin/visual.rs +++ b/src/bin/visual.rs @@ -12,7 +12,7 @@ async fn main() -> std::io::Result<()> { let opt: VisualOpt = VisualOpt::from_args(); if let Some(sub_cmd) = &opt.cmd { - match sub_cmd { + return match sub_cmd { SubVisualCommand::Export { output, name } => { let project = match name { Some(proj) => proj.to_string(), @@ -20,9 +20,9 @@ async fn main() -> std::io::Result<()> { }; start_export_reporter(output, project.clone()); - return Ok(()); + Ok(()) } - } + }; } let project = match opt.name { diff --git a/src/domain/cli_opt/suggest_opt.rs b/src/domain/cli_opt/suggest_opt.rs index 1a5da346..2d6af2df 100644 --- a/src/domain/cli_opt/suggest_opt.rs +++ b/src/domain/cli_opt/suggest_opt.rs @@ -6,4 +6,8 @@ pub struct SuggestOpt { /// Debug mode #[structopt(short, long, parse(try_from_str), default_value = "false")] pub debug: bool, + + /// Config file .yml + #[structopt(short, long, default_value = "coco.yml")] + pub config_file: String, } diff --git a/src/domain/suggest/model_suggest.rs b/src/domain/suggest/model_suggest.rs index 7ab061f0..9e3cd64e 100644 --- a/src/domain/suggest/model_suggest.rs +++ b/src/domain/suggest/model_suggest.rs @@ -6,5 +6,5 @@ impl ModelSuggest { /// suggest: /// zh-CN: 引入参数对象 /// en-US: Introduce Parameter Object - pub fn find_long_parameter_list_method() {} + pub fn find_long_parameter_list_method(&self) {} }