From 736fe8a4c6ca824d99c03fdbed7f198dc9163aa9 Mon Sep 17 00:00:00 2001 From: Luni-4 Date: Tue, 28 Apr 2020 16:41:05 +0200 Subject: [PATCH 1/5] Merge the enums file into metrics --- src/enums.rs | 29 ------------------ src/getter.rs | 82 +++++++++++++++++++++++++------------------------- src/lib.rs | 3 -- src/metrics.rs | 39 ++++++++++++++++++++---- 4 files changed, 74 insertions(+), 79 deletions(-) delete mode 100644 src/enums.rs diff --git a/src/enums.rs b/src/enums.rs deleted file mode 100644 index 46810afb8..000000000 --- a/src/enums.rs +++ /dev/null @@ -1,29 +0,0 @@ -use std::fmt; - -#[derive(Clone, Copy, Debug, PartialEq)] -pub enum NodeKind { - Unknown, - Function, - Class, - Struct, - Trait, - Impl, - Unit, - Namespace, -} - -impl fmt::Display for NodeKind { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let s = match self { - NodeKind::Unknown => "unknown", - NodeKind::Function => "function", - NodeKind::Class => "class", - NodeKind::Struct => "struct", - NodeKind::Trait => "trait", - NodeKind::Impl => "impl", - NodeKind::Unit => "unit", - NodeKind::Namespace => "namespace", - }; - write!(f, "{}", s) - } -} diff --git a/src/getter.rs b/src/getter.rs index 187724d48..23a71020c 100644 --- a/src/getter.rs +++ b/src/getter.rs @@ -1,6 +1,6 @@ use tree_sitter::Node; -use crate::enums::NodeKind; +use crate::metrics::SpaceKind; use crate::traits::Search; use crate::*; @@ -20,25 +20,25 @@ pub trait Getter { } } - fn get_kind(_node: &Node) -> NodeKind { - NodeKind::Unknown + fn get_space_kind(_node: &Node) -> SpaceKind { + SpaceKind::Unknown } } impl Getter for PythonCode { - fn get_kind(node: &Node) -> NodeKind { + fn get_space_kind(node: &Node) -> SpaceKind { let typ = node.kind_id(); match typ.into() { - Python::FunctionDefinition => NodeKind::Function, - Python::ClassDefinition => NodeKind::Class, - Python::Module => NodeKind::Unit, - _ => NodeKind::Unknown, + Python::FunctionDefinition => SpaceKind::Function, + Python::ClassDefinition => SpaceKind::Class, + Python::Module => SpaceKind::Unit, + _ => SpaceKind::Unknown, } } } impl Getter for MozjsCode { - fn get_kind(node: &Node) -> NodeKind { + fn get_space_kind(node: &Node) -> SpaceKind { use Mozjs::*; let typ = node.kind_id(); @@ -48,10 +48,10 @@ impl Getter for MozjsCode { | GeneratorFunction | FunctionDeclaration | GeneratorFunctionDeclaration - | ArrowFunction => NodeKind::Function, - Class | ClassDeclaration => NodeKind::Class, - Program => NodeKind::Unit, - _ => NodeKind::Unknown, + | ArrowFunction => SpaceKind::Function, + Class | ClassDeclaration => SpaceKind::Class, + Program => SpaceKind::Unit, + _ => SpaceKind::Unknown, } } @@ -85,7 +85,7 @@ impl Getter for MozjsCode { } impl Getter for JavascriptCode { - fn get_kind(node: &Node) -> NodeKind { + fn get_space_kind(node: &Node) -> SpaceKind { use Javascript::*; let typ = node.kind_id(); @@ -95,10 +95,10 @@ impl Getter for JavascriptCode { | GeneratorFunction | FunctionDeclaration | GeneratorFunctionDeclaration - | ArrowFunction => NodeKind::Function, - Class | ClassDeclaration => NodeKind::Class, - Program => NodeKind::Unit, - _ => NodeKind::Unknown, + | ArrowFunction => SpaceKind::Function, + Class | ClassDeclaration => SpaceKind::Class, + Program => SpaceKind::Unit, + _ => SpaceKind::Unknown, } } @@ -132,7 +132,7 @@ impl Getter for JavascriptCode { } impl Getter for TypescriptCode { - fn get_kind(node: &Node) -> NodeKind { + fn get_space_kind(node: &Node) -> SpaceKind { use Typescript::*; let typ = node.kind_id(); @@ -142,10 +142,10 @@ impl Getter for TypescriptCode { | GeneratorFunction | FunctionDeclaration | GeneratorFunctionDeclaration - | ArrowFunction => NodeKind::Function, - Class | ClassDeclaration => NodeKind::Class, - Program => NodeKind::Unit, - _ => NodeKind::Unknown, + | ArrowFunction => SpaceKind::Function, + Class | ClassDeclaration => SpaceKind::Class, + Program => SpaceKind::Unit, + _ => SpaceKind::Unknown, } } @@ -179,7 +179,7 @@ impl Getter for TypescriptCode { } impl Getter for TsxCode { - fn get_kind(node: &Node) -> NodeKind { + fn get_space_kind(node: &Node) -> SpaceKind { use Tsx::*; let typ = node.kind_id(); @@ -189,10 +189,10 @@ impl Getter for TsxCode { | GeneratorFunction | FunctionDeclaration | GeneratorFunctionDeclaration - | ArrowFunction => NodeKind::Function, - Class | ClassDeclaration => NodeKind::Class, - Program => NodeKind::Unit, - _ => NodeKind::Unknown, + | ArrowFunction => SpaceKind::Function, + Class | ClassDeclaration => SpaceKind::Class, + Program => SpaceKind::Unit, + _ => SpaceKind::Unknown, } } @@ -226,16 +226,16 @@ impl Getter for TsxCode { } impl Getter for RustCode { - fn get_kind(node: &Node) -> NodeKind { + fn get_space_kind(node: &Node) -> SpaceKind { use Rust::*; let typ = node.kind_id(); match typ.into() { - FunctionItem | ClosureExpression => NodeKind::Function, - TraitItem => NodeKind::Trait, - ImplItem => NodeKind::Impl, - SourceFile => NodeKind::Unit, - _ => NodeKind::Unknown, + FunctionItem | ClosureExpression => SpaceKind::Function, + TraitItem => SpaceKind::Trait, + ImplItem => SpaceKind::Impl, + SourceFile => SpaceKind::Unit, + _ => SpaceKind::Unknown, } } } @@ -285,17 +285,17 @@ impl Getter for CppCode { None } - fn get_kind(node: &Node) -> NodeKind { + fn get_space_kind(node: &Node) -> SpaceKind { use Cpp::*; let typ = node.kind_id(); match typ.into() { - FunctionDefinition | FunctionDefinition2 | FunctionDefinition3 => NodeKind::Function, - StructSpecifier => NodeKind::Struct, - ClassSpecifier => NodeKind::Class, - NamespaceDefinition => NodeKind::Namespace, - TranslationUnit => NodeKind::Unit, - _ => NodeKind::Unknown, + FunctionDefinition | FunctionDefinition2 | FunctionDefinition3 => SpaceKind::Function, + StructSpecifier => SpaceKind::Struct, + ClassSpecifier => SpaceKind::Class, + NamespaceDefinition => SpaceKind::Namespace, + TranslationUnit => SpaceKind::Unit, + _ => SpaceKind::Unknown, } } } diff --git a/src/lib.rs b/src/lib.rs index e68b748b7..65c828a4c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,9 +13,6 @@ extern crate serde_json; mod macros; pub use crate::macros::*; -pub mod enums; -pub use crate::enums::*; - pub mod node; pub use crate::node::*; diff --git a/src/metrics.rs b/src/metrics.rs index 40edadc9b..d88e90432 100644 --- a/src/metrics.rs +++ b/src/metrics.rs @@ -9,7 +9,6 @@ use tree_sitter::Node; use crate::checker::Checker; use crate::cyclomatic::{self, Cyclomatic}; -use crate::enums::NodeKind; use crate::exit::{self, Exit}; use crate::fn_args::{self, NArgs}; use crate::getter::Getter; @@ -20,6 +19,34 @@ use crate::nom::{self, Nom}; use crate::tools::write_file; use crate::traits::*; +#[derive(Clone, Copy, Debug, PartialEq)] +pub enum SpaceKind { + Unknown, + Function, + Class, + Struct, + Trait, + Impl, + Unit, + Namespace, +} + +impl fmt::Display for SpaceKind { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let s = match self { + SpaceKind::Unknown => "unknown", + SpaceKind::Function => "function", + SpaceKind::Class => "class", + SpaceKind::Struct => "struct", + SpaceKind::Trait => "trait", + SpaceKind::Impl => "impl", + SpaceKind::Unit => "unit", + SpaceKind::Namespace => "namespace", + }; + write!(f, "{}", s) + } +} + #[derive(Debug)] pub struct CodeMetrics<'a> { pub cyclomatic: cyclomatic::Stats, @@ -91,7 +118,7 @@ pub struct FuncSpace<'a> { pub name: Option<&'a str>, pub spaces: Vec>, pub metrics: CodeMetrics<'a>, - pub kind: NodeKind, + pub kind: SpaceKind, pub start_line: usize, pub end_line: usize, } @@ -113,9 +140,9 @@ impl<'a> Serialize for FuncSpace<'a> { } impl<'a> FuncSpace<'a> { - fn new(node: &Node<'a>, code: &'a [u8], kind: NodeKind) -> Self { + fn new(node: &Node<'a>, code: &'a [u8], kind: SpaceKind) -> Self { let (start_position, end_position) = match kind { - NodeKind::Unit => { + SpaceKind::Unit => { if node.child_count() == 0 { (0, 0) } else { @@ -439,10 +466,10 @@ pub fn metrics<'a, T: TSParserTrait>(parser: &'a T, path: &'a PathBuf) -> Option last_level = level; } - let kind = T::Getter::get_kind(&node); + let kind = T::Getter::get_space_kind(&node); let func_space = T::Checker::is_func(&node) || T::Checker::is_func_space(&node); - let unit = kind == NodeKind::Unit; + let unit = kind == SpaceKind::Unit; let new_level = if func_space { space_stack.push(FuncSpace::new::(&node, code, kind)); From 0745da28c2863ff078ab6bd60fb194a7fcc9a919 Mon Sep 17 00:00:00 2001 From: Luni-4 Date: Tue, 28 Apr 2020 16:47:05 +0200 Subject: [PATCH 2/5] Remove an unused file --- src/error.rs | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 src/error.rs diff --git a/src/error.rs b/src/error.rs deleted file mode 100644 index 77f59a6b4..000000000 --- a/src/error.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub enum TSError { - Str(String), -} From 7f764e9095b1ad5d94201e857883361b080aabba Mon Sep 17 00:00:00 2001 From: Luni-4 Date: Tue, 28 Apr 2020 18:14:01 +0200 Subject: [PATCH 3/5] Change confusing names --- rust-code-analysis-cli/src/main.rs | 4 ++-- src/getter.rs | 2 +- src/{languages.rs => langs.rs} | 0 .../language_ccomment.rs | 0 src/{rca_languages => languages}/language_cpp.rs | 0 .../language_csharp.rs | 0 src/{rca_languages => languages}/language_css.rs | 0 src/{rca_languages => languages}/language_go.rs | 0 .../language_html.rs | 0 .../language_java.rs | 0 .../language_javascript.rs | 0 .../language_mozjs.rs | 0 .../language_preproc.rs | 0 .../language_python.rs | 0 .../language_rust.rs | 0 src/{rca_languages => languages}/language_tsx.rs | 0 .../language_typescript.rs | 0 src/{rca_languages => languages}/mod.rs | 0 src/lib.rs | 16 ++++++++-------- src/{rca_metrics => metrics}/cyclomatic.rs | 0 src/{rca_metrics => metrics}/exit.rs | 0 src/{rca_metrics => metrics}/fn_args.rs | 0 src/{rca_metrics => metrics}/halstead.rs | 0 src/{rca_metrics => metrics}/loc.rs | 0 src/{rca_metrics => metrics}/mi.rs | 0 src/{rca_metrics => metrics}/mod.rs | 0 src/{rca_metrics => metrics}/nom.rs | 0 src/preproc.rs | 4 ++-- src/{metrics.rs => spaces.rs} | 8 ++++---- src/tools.rs | 4 ++-- src/traits.rs | 2 +- src/ts_parser.rs | 2 +- src/web/metrics.rs | 2 +- src/web/server.rs | 2 +- 34 files changed, 23 insertions(+), 23 deletions(-) rename src/{languages.rs => langs.rs} (100%) rename src/{rca_languages => languages}/language_ccomment.rs (100%) rename src/{rca_languages => languages}/language_cpp.rs (100%) rename src/{rca_languages => languages}/language_csharp.rs (100%) rename src/{rca_languages => languages}/language_css.rs (100%) rename src/{rca_languages => languages}/language_go.rs (100%) rename src/{rca_languages => languages}/language_html.rs (100%) rename src/{rca_languages => languages}/language_java.rs (100%) rename src/{rca_languages => languages}/language_javascript.rs (100%) rename src/{rca_languages => languages}/language_mozjs.rs (100%) rename src/{rca_languages => languages}/language_preproc.rs (100%) rename src/{rca_languages => languages}/language_python.rs (100%) rename src/{rca_languages => languages}/language_rust.rs (100%) rename src/{rca_languages => languages}/language_tsx.rs (100%) rename src/{rca_languages => languages}/language_typescript.rs (100%) rename src/{rca_languages => languages}/mod.rs (100%) rename src/{rca_metrics => metrics}/cyclomatic.rs (100%) rename src/{rca_metrics => metrics}/exit.rs (100%) rename src/{rca_metrics => metrics}/fn_args.rs (100%) rename src/{rca_metrics => metrics}/halstead.rs (100%) rename src/{rca_metrics => metrics}/loc.rs (100%) rename src/{rca_metrics => metrics}/mi.rs (100%) rename src/{rca_metrics => metrics}/mod.rs (100%) rename src/{rca_metrics => metrics}/nom.rs (100%) rename src/{metrics.rs => spaces.rs} (99%) diff --git a/rust-code-analysis-cli/src/main.rs b/rust-code-analysis-cli/src/main.rs index 3efa94a8c..8b5a914ce 100644 --- a/rust-code-analysis-cli/src/main.rs +++ b/rust-code-analysis-cli/src/main.rs @@ -78,7 +78,7 @@ fn act_on_file(language: Option, path: PathBuf, cfg: &Config) -> std::io:: }; action::(&language, source, &path, pr, cfg) } else if cfg.metrics { - let cfg = MetricsCfg { + let cfg = SpacesCfg { path, pretty: cfg.pretty, output_path: if cfg.output.is_empty() { @@ -87,7 +87,7 @@ fn act_on_file(language: Option, path: PathBuf, cfg: &Config) -> std::io:: Some(PathBuf::from(cfg.output.clone())) }, }; - action::(&language, source, &cfg.path.clone(), pr, cfg) + action::(&language, source, &cfg.path.clone(), pr, cfg) } else if cfg.comments { let cfg = CommentRmCfg { in_place: cfg.in_place, diff --git a/src/getter.rs b/src/getter.rs index 23a71020c..2e77f4a78 100644 --- a/src/getter.rs +++ b/src/getter.rs @@ -1,6 +1,6 @@ use tree_sitter::Node; -use crate::metrics::SpaceKind; +use crate::spaces::SpaceKind; use crate::traits::Search; use crate::*; diff --git a/src/languages.rs b/src/langs.rs similarity index 100% rename from src/languages.rs rename to src/langs.rs diff --git a/src/rca_languages/language_ccomment.rs b/src/languages/language_ccomment.rs similarity index 100% rename from src/rca_languages/language_ccomment.rs rename to src/languages/language_ccomment.rs diff --git a/src/rca_languages/language_cpp.rs b/src/languages/language_cpp.rs similarity index 100% rename from src/rca_languages/language_cpp.rs rename to src/languages/language_cpp.rs diff --git a/src/rca_languages/language_csharp.rs b/src/languages/language_csharp.rs similarity index 100% rename from src/rca_languages/language_csharp.rs rename to src/languages/language_csharp.rs diff --git a/src/rca_languages/language_css.rs b/src/languages/language_css.rs similarity index 100% rename from src/rca_languages/language_css.rs rename to src/languages/language_css.rs diff --git a/src/rca_languages/language_go.rs b/src/languages/language_go.rs similarity index 100% rename from src/rca_languages/language_go.rs rename to src/languages/language_go.rs diff --git a/src/rca_languages/language_html.rs b/src/languages/language_html.rs similarity index 100% rename from src/rca_languages/language_html.rs rename to src/languages/language_html.rs diff --git a/src/rca_languages/language_java.rs b/src/languages/language_java.rs similarity index 100% rename from src/rca_languages/language_java.rs rename to src/languages/language_java.rs diff --git a/src/rca_languages/language_javascript.rs b/src/languages/language_javascript.rs similarity index 100% rename from src/rca_languages/language_javascript.rs rename to src/languages/language_javascript.rs diff --git a/src/rca_languages/language_mozjs.rs b/src/languages/language_mozjs.rs similarity index 100% rename from src/rca_languages/language_mozjs.rs rename to src/languages/language_mozjs.rs diff --git a/src/rca_languages/language_preproc.rs b/src/languages/language_preproc.rs similarity index 100% rename from src/rca_languages/language_preproc.rs rename to src/languages/language_preproc.rs diff --git a/src/rca_languages/language_python.rs b/src/languages/language_python.rs similarity index 100% rename from src/rca_languages/language_python.rs rename to src/languages/language_python.rs diff --git a/src/rca_languages/language_rust.rs b/src/languages/language_rust.rs similarity index 100% rename from src/rca_languages/language_rust.rs rename to src/languages/language_rust.rs diff --git a/src/rca_languages/language_tsx.rs b/src/languages/language_tsx.rs similarity index 100% rename from src/rca_languages/language_tsx.rs rename to src/languages/language_tsx.rs diff --git a/src/rca_languages/language_typescript.rs b/src/languages/language_typescript.rs similarity index 100% rename from src/rca_languages/language_typescript.rs rename to src/languages/language_typescript.rs diff --git a/src/rca_languages/mod.rs b/src/languages/mod.rs similarity index 100% rename from src/rca_languages/mod.rs rename to src/languages/mod.rs diff --git a/src/lib.rs b/src/lib.rs index 65c828a4c..5b6d861b5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -16,11 +16,11 @@ pub use crate::macros::*; pub mod node; pub use crate::node::*; -mod rca_metrics; -pub(crate) use rca_metrics::*; +mod metrics; +pub(crate) use metrics::*; -mod rca_languages; -pub(crate) use rca_languages::*; +mod languages; +pub(crate) use languages::*; pub mod web; @@ -28,8 +28,8 @@ pub mod web; pub mod asttools; pub use crate::asttools::*; -pub mod metrics; -pub use crate::metrics::*; +pub mod spaces; +pub use crate::spaces::*; pub mod getter; pub use crate::getter::*; @@ -48,8 +48,8 @@ pub mod c_macro; pub mod preproc; pub use crate::preproc::*; -mod languages; -pub use crate::languages::*; +mod langs; +pub use crate::langs::*; mod tools; pub use crate::tools::*; diff --git a/src/rca_metrics/cyclomatic.rs b/src/metrics/cyclomatic.rs similarity index 100% rename from src/rca_metrics/cyclomatic.rs rename to src/metrics/cyclomatic.rs diff --git a/src/rca_metrics/exit.rs b/src/metrics/exit.rs similarity index 100% rename from src/rca_metrics/exit.rs rename to src/metrics/exit.rs diff --git a/src/rca_metrics/fn_args.rs b/src/metrics/fn_args.rs similarity index 100% rename from src/rca_metrics/fn_args.rs rename to src/metrics/fn_args.rs diff --git a/src/rca_metrics/halstead.rs b/src/metrics/halstead.rs similarity index 100% rename from src/rca_metrics/halstead.rs rename to src/metrics/halstead.rs diff --git a/src/rca_metrics/loc.rs b/src/metrics/loc.rs similarity index 100% rename from src/rca_metrics/loc.rs rename to src/metrics/loc.rs diff --git a/src/rca_metrics/mi.rs b/src/metrics/mi.rs similarity index 100% rename from src/rca_metrics/mi.rs rename to src/metrics/mi.rs diff --git a/src/rca_metrics/mod.rs b/src/metrics/mod.rs similarity index 100% rename from src/rca_metrics/mod.rs rename to src/metrics/mod.rs diff --git a/src/rca_metrics/nom.rs b/src/metrics/nom.rs similarity index 100% rename from src/rca_metrics/nom.rs rename to src/metrics/nom.rs diff --git a/src/preproc.rs b/src/preproc.rs index cd6f5e188..bb84eff83 100644 --- a/src/preproc.rs +++ b/src/preproc.rs @@ -5,8 +5,8 @@ use std::collections::{hash_map, HashMap, HashSet}; use std::path::PathBuf; use std::sync::{Arc, Mutex}; -use crate::languages::*; -use crate::rca_languages::language_preproc::*; +use crate::langs::*; +use crate::languages::language_preproc::*; use crate::tools::*; use crate::traits::*; diff --git a/src/metrics.rs b/src/spaces.rs similarity index 99% rename from src/metrics.rs rename to src/spaces.rs index d88e90432..849f0a987 100644 --- a/src/metrics.rs +++ b/src/spaces.rs @@ -517,17 +517,17 @@ pub fn metrics<'a, T: TSParserTrait>(parser: &'a T, path: &'a PathBuf) -> Option }) } -pub struct MetricsCfg { +pub struct SpacesCfg { pub path: PathBuf, pub pretty: bool, pub output_path: Option, } -pub struct Metrics {} +pub struct Spaces {} -impl Callback for Metrics { +impl Callback for Spaces { type Res = std::io::Result<()>; - type Cfg = MetricsCfg; + type Cfg = SpacesCfg; fn call(cfg: Self::Cfg, parser: &T) -> Self::Res { if let Some(space) = metrics(parser, &cfg.path) { diff --git a/src/tools.rs b/src/tools.rs index 90e737b24..85b623d49 100644 --- a/src/tools.rs +++ b/src/tools.rs @@ -1,5 +1,5 @@ -use crate::languages::fake; -use crate::languages::*; +use crate::langs::fake; +use crate::langs::*; use regex::bytes::Regex; use std::cmp::Ordering; use std::collections::HashMap; diff --git a/src/traits.rs b/src/traits.rs index 7ad7ef641..1f436c239 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -8,7 +8,7 @@ use crate::exit::Exit; use crate::fn_args::NArgs; use crate::getter::Getter; use crate::halstead::Halstead; -use crate::languages::*; +use crate::langs::*; use crate::loc::Loc; use crate::mi::Mi; use crate::nom::Nom; diff --git a/src/ts_parser.rs b/src/ts_parser.rs index d00771ae7..eb5657fbd 100644 --- a/src/ts_parser.rs +++ b/src/ts_parser.rs @@ -6,7 +6,7 @@ use tree_sitter::{Node, Parser, Tree}; use crate::c_macro; use crate::checker::*; use crate::getter::Getter; -use crate::languages::*; +use crate::langs::*; use crate::preproc::{get_macros, PreprocResults}; use crate::traits::*; use crate::web::alterator::Alterator; diff --git a/src/web/metrics.rs b/src/web/metrics.rs index 026ecc6b5..7a8e94c43 100644 --- a/src/web/metrics.rs +++ b/src/web/metrics.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; use serde_json::{self, Value}; use std::path::PathBuf; -use crate::metrics::{metrics, FuncSpace}; +use crate::spaces::{metrics, FuncSpace}; use crate::traits::{Callback, TSParserTrait}; #[derive(Debug, Deserialize, Serialize)] diff --git a/src/web/server.rs b/src/web/server.rs index e4632a1bf..1f1468e56 100644 --- a/src/web/server.rs +++ b/src/web/server.rs @@ -12,7 +12,7 @@ use super::ast::{AstCallback, AstCfg, AstPayload}; use super::comment::{WebCommentCallback, WebCommentCfg, WebCommentInfo, WebCommentPayload}; use super::function::{WebFunctionCallback, WebFunctionCfg, WebFunctionInfo, WebFunctionPayload}; use super::metrics::{WebMetricsCallback, WebMetricsCfg, WebMetricsInfo, WebMetricsPayload}; -use crate::languages::action; +use crate::langs::action; use crate::tools::guess_language; use crate::LANG; From c7589fa419912bc88e16500cde86d7b5e0592562 Mon Sep 17 00:00:00 2001 From: Luni-4 Date: Wed, 29 Apr 2020 15:10:11 +0200 Subject: [PATCH 4/5] Create a directory for output functions --- src/lib.rs | 7 +++---- src/{ => output}/dump.rs | 0 src/output/mod.rs | 2 ++ 3 files changed, 5 insertions(+), 4 deletions(-) rename src/{ => output}/dump.rs (100%) create mode 100644 src/output/mod.rs diff --git a/src/lib.rs b/src/lib.rs index 5b6d861b5..8ad358e5a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,5 @@ #![recursion_limit = "128"] #![allow(clippy::implicit_hasher)] -//#![warn(unused_extern_crates)] #[macro_use] extern crate lazy_static; @@ -22,6 +21,9 @@ pub(crate) use metrics::*; mod languages; pub(crate) use languages::*; +mod output; +pub use output::*; + pub mod web; #[macro_use] @@ -65,6 +67,3 @@ pub use crate::checker::*; mod comment_rm; pub use crate::comment_rm::*; - -mod dump; -pub use crate::dump::*; diff --git a/src/dump.rs b/src/output/dump.rs similarity index 100% rename from src/dump.rs rename to src/output/dump.rs diff --git a/src/output/mod.rs b/src/output/mod.rs new file mode 100644 index 000000000..0df2b897f --- /dev/null +++ b/src/output/mod.rs @@ -0,0 +1,2 @@ +pub mod dump; +pub use dump::*; From e99f350c6712411af871028a55098aba8ad109bb Mon Sep 17 00:00:00 2001 From: Luni-4 Date: Tue, 5 May 2020 12:14:17 +0200 Subject: [PATCH 5/5] Change wrong structures names --- rust-code-analysis-cli/src/main.rs | 4 ++-- src/spaces.rs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/rust-code-analysis-cli/src/main.rs b/rust-code-analysis-cli/src/main.rs index 8b5a914ce..3efa94a8c 100644 --- a/rust-code-analysis-cli/src/main.rs +++ b/rust-code-analysis-cli/src/main.rs @@ -78,7 +78,7 @@ fn act_on_file(language: Option, path: PathBuf, cfg: &Config) -> std::io:: }; action::(&language, source, &path, pr, cfg) } else if cfg.metrics { - let cfg = SpacesCfg { + let cfg = MetricsCfg { path, pretty: cfg.pretty, output_path: if cfg.output.is_empty() { @@ -87,7 +87,7 @@ fn act_on_file(language: Option, path: PathBuf, cfg: &Config) -> std::io:: Some(PathBuf::from(cfg.output.clone())) }, }; - action::(&language, source, &cfg.path.clone(), pr, cfg) + action::(&language, source, &cfg.path.clone(), pr, cfg) } else if cfg.comments { let cfg = CommentRmCfg { in_place: cfg.in_place, diff --git a/src/spaces.rs b/src/spaces.rs index 849f0a987..d88e90432 100644 --- a/src/spaces.rs +++ b/src/spaces.rs @@ -517,17 +517,17 @@ pub fn metrics<'a, T: TSParserTrait>(parser: &'a T, path: &'a PathBuf) -> Option }) } -pub struct SpacesCfg { +pub struct MetricsCfg { pub path: PathBuf, pub pretty: bool, pub output_path: Option, } -pub struct Spaces {} +pub struct Metrics {} -impl Callback for Spaces { +impl Callback for Metrics { type Res = std::io::Result<()>; - type Cfg = SpacesCfg; + type Cfg = MetricsCfg; fn call(cfg: Self::Cfg, parser: &T) -> Self::Res { if let Some(space) = metrics(parser, &cfg.path) {