From 980bf1009b9ce01d42664ad0123443af67d3df1b Mon Sep 17 00:00:00 2001 From: Luni-4 Date: Wed, 24 Jun 2020 11:32:16 +0200 Subject: [PATCH] Make public the function to dump metrics --- src/output/dump_metrics.rs | 32 +++++++++++++++++++++++++++++++- src/output/mod.rs | 1 + 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/output/dump_metrics.rs b/src/output/dump_metrics.rs index cb0ff2c75..d2d59e3cb 100644 --- a/src/output/dump_metrics.rs +++ b/src/output/dump_metrics.rs @@ -11,7 +11,37 @@ use crate::nom; use crate::spaces::{CodeMetrics, FuncSpace}; -pub(crate) fn dump_root(space: &FuncSpace) -> std::io::Result<()> { +/// Dumps the metrics of a code. +/// +/// Returns a [`Result`] value, when an error occurs. +/// +/// # Examples +/// +/// ``` +/// use std::path::PathBuf; +/// +/// use rust_code_analysis::{dump_root, metrics, CppParser, ParserTrait}; +/// +/// # fn main() { +/// let source_code = "int a = 42;"; +/// +/// // The path to a dummy file used to contain the source code +/// let path = PathBuf::from("foo.c"); +/// let source_as_vec = source_code.as_bytes().to_vec(); +/// +/// // The parser of the code, in this case a CPP parser +/// let parser = CppParser::new(source_as_vec, &path, None); +/// +/// // Compute metrics +/// let space = metrics(&parser, &path).unwrap(); +/// +/// // Dump all metrics +/// dump_root(&space).unwrap(); +/// # } +/// ``` +/// +/// [`Result`]: #variant.Result +pub fn dump_root(space: &FuncSpace) -> std::io::Result<()> { let stdout = StandardStream::stdout(ColorChoice::Always); let mut stdout = stdout.lock(); dump_space(&space, "", true, &mut stdout)?; diff --git a/src/output/mod.rs b/src/output/mod.rs index df708d66c..5b92f23aa 100644 --- a/src/output/mod.rs +++ b/src/output/mod.rs @@ -5,3 +5,4 @@ pub(crate) mod dump_formats; pub use dump_formats::*; pub(crate) mod dump_metrics; +pub use dump_metrics::*;