devalang_wasm/tools/cli/
rules_reporter.rs1use crate::platform::config::AppConfig;
2use crate::tools::logger::{Logger, RuleChecker};
3use std::sync::Arc;
5
6pub struct RulesReporter {
7 rule_checker: RuleChecker,
8 logger: Arc<Logger>,
9}
10
11impl RulesReporter {
12 pub fn new(config: AppConfig, logger: Arc<Logger>) -> Self {
14 let rule_checker = RuleChecker::new(config);
15 Self {
16 rule_checker,
17 logger,
18 }
19 }
20
21 pub fn report_check_results(&self, _filename: &str, _line_number: usize) {
23 }
26
27 pub fn from_current_dir(logger: Arc<Logger>) -> anyhow::Result<Self> {
29 let current_dir = std::env::current_dir()?;
30 let config = AppConfig::load(¤t_dir)?;
31 Ok(Self::new(config, logger))
32 }
33
34 pub fn checker(&self) -> &RuleChecker {
36 &self.rule_checker
37 }
38
39 pub fn logger(&self) -> &Arc<Logger> {
41 &self.logger
42 }
43}