Skip to content

Commit 7dd9711

Browse files
committed
move get_style and format_number in utils
1 parent ba08584 commit 7dd9711

File tree

12 files changed

+66
-80
lines changed

12 files changed

+66
-80
lines changed

src/info/author.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use super::git::metrics::GitMetrics;
22
use crate::{
33
cli::NumberSeparator,
4-
info::{format_number, utils::info_field::InfoField},
4+
info::utils::{format_number, info_field::InfoField},
55
};
66
use serde::Serialize;
77
use std::fmt::Write;

src/info/churn.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use super::{git::metrics::GitMetrics, utils::info_field::InfoField};
2-
use crate::{cli::NumberSeparator, info::format_number};
2+
use crate::{cli::NumberSeparator, info::utils::format_number};
33
use serde::Serialize;
44
use std::fmt::Write;
55

src/info/commits.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use super::git::metrics::GitMetrics;
22
use crate::{
33
cli::NumberSeparator,
4-
info::{format_number, utils::info_field::InfoField},
4+
info::utils::{format_number, info_field::InfoField},
55
};
66
use serde::Serialize;
77

src/info/contributors.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
use super::git::metrics::GitMetrics;
2-
use crate::{
3-
cli::NumberSeparator,
4-
info::{format_number, utils::info_field::InfoField},
5-
};
1+
use super::{git::metrics::GitMetrics, utils::format_number};
2+
use crate::{cli::NumberSeparator, info::utils::info_field::InfoField};
63
use serde::Serialize;
74

85
#[derive(Serialize)]

src/info/dependencies.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{
22
cli::NumberSeparator,
3-
info::{format_number, utils::info_field::InfoField},
3+
info::utils::{format_number, info_field::InfoField},
44
};
55
use onefetch_manifest::Manifest;
66
use serde::Serialize;

src/info/loc.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@ use crate::info::langs::get_total_loc;
22
use crate::info::langs::language::Language;
33
use serde::Serialize;
44

5-
use crate::{
6-
cli::NumberSeparator,
7-
info::{format_number, utils::info_field::InfoField},
8-
};
5+
use crate::{cli::NumberSeparator, info::utils::info_field::InfoField};
6+
7+
use super::utils::format_number;
98

109
#[derive(Serialize)]
1110
#[serde(rename_all = "camelCase")]

src/info/mod.rs

Lines changed: 1 addition & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@ use crate::ui::text_colors::TextColors;
2727
use anyhow::{Context, Result};
2828
use gix::sec::trust::Mapping;
2929
use gix::Repository;
30-
use num_format::ToFormattedString;
3130
use onefetch_manifest::Manifest;
32-
use owo_colors::{DynColors, OwoColorize, Style};
31+
use owo_colors::{DynColors, OwoColorize};
3332
use serde::Serialize;
3433
use std::path::Path;
3534

@@ -409,14 +408,6 @@ impl InfoBuilder {
409408
}
410409
}
411410

412-
fn get_style(is_bold: bool, color: DynColors) -> Style {
413-
let mut style = Style::new().color(color);
414-
if is_bold {
415-
style = style.bold();
416-
}
417-
style
418-
}
419-
420411
fn get_manifest(repo_path: &Path) -> Result<Option<Manifest>> {
421412
let manifests = onefetch_manifest::get_manifests(repo_path)?;
422413

@@ -433,51 +424,3 @@ pub fn get_work_dir(repo: &gix::Repository) -> Result<std::path::PathBuf> {
433424
.context("please run onefetch inside of a non-bare git repository")?
434425
.to_owned())
435426
}
436-
437-
fn format_number<T: ToFormattedString + std::fmt::Display>(
438-
number: &T,
439-
number_separator: NumberSeparator,
440-
) -> String {
441-
number.to_formatted_string(&number_separator.get_format())
442-
}
443-
444-
#[cfg(test)]
445-
mod tests {
446-
use super::*;
447-
use owo_colors::AnsiColors;
448-
449-
#[test]
450-
fn test_get_style() {
451-
let style = get_style(true, DynColors::Ansi(AnsiColors::Cyan));
452-
assert_eq!(
453-
style,
454-
Style::new().color(DynColors::Ansi(AnsiColors::Cyan)).bold()
455-
);
456-
}
457-
458-
#[test]
459-
fn test_get_style_no_bold() {
460-
let style = get_style(false, DynColors::Ansi(AnsiColors::Cyan));
461-
assert_eq!(style, Style::new().color(DynColors::Ansi(AnsiColors::Cyan)));
462-
}
463-
464-
#[test]
465-
fn test_format_number() {
466-
assert_eq!(
467-
&format_number(&1_000_000, NumberSeparator::Comma),
468-
"1,000,000"
469-
);
470-
assert_eq!(
471-
&format_number(&1_000_000, NumberSeparator::Space),
472-
"1\u{202f}000\u{202f}000"
473-
);
474-
assert_eq!(
475-
&format_number(&1_000_000, NumberSeparator::Underscore),
476-
"1_000_000"
477-
);
478-
assert_eq!(
479-
&format_number(&1_000_000, NumberSeparator::Plain),
480-
"1000000"
481-
);
482-
}
483-
}

src/info/project.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
use crate::{
2-
cli::NumberSeparator,
3-
info::{format_number, utils::info_field::InfoField},
4-
};
1+
use crate::{cli::NumberSeparator, info::utils::info_field::InfoField};
52
use anyhow::Result;
63
use gix::{bstr::ByteSlice, Repository};
74
use onefetch_manifest::Manifest;
85
use serde::Serialize;
96
use std::ffi::OsStr;
107

8+
use super::utils::format_number;
9+
1110
#[derive(Serialize)]
1211
#[serde(rename_all = "camelCase")]
1312
pub struct ProjectInfo {

src/info/size.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::{
22
cli::NumberSeparator,
3-
info::{format_number, utils::info_field::InfoField},
3+
info::utils::{format_number, info_field::InfoField},
44
};
55
use byte_unit::Byte;
66
use gix::Repository;

src/info/title.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use super::get_style;
2-
use crate::cli;
1+
use crate::{cli, info::utils::get_style};
32
use gix::Repository;
43
use owo_colors::{DynColors, OwoColorize};
54
use serde::Serialize;

0 commit comments

Comments
 (0)