diff --git a/benches/benchmark.rs b/benches/benchmark.rs index 7706617..03e49f4 100644 --- a/benches/benchmark.rs +++ b/benches/benchmark.rs @@ -1,4 +1,4 @@ -use criterion::{criterion_group, criterion_main, Criterion}; +use criterion::{Criterion, criterion_group, criterion_main}; use microfetch_lib::colors::print_dots; use microfetch_lib::desktop::get_desktop_info; use microfetch_lib::release::{get_os_pretty_name, get_system_info}; @@ -10,7 +10,7 @@ use microfetch_lib::uptime::get_current; fn main_benchmark(c: &mut Criterion) { let utsname = nix::sys::utsname::uname().expect("lol"); c.bench_function("user_info", |b| { - b.iter(|| get_username_and_hostname(&utsname)) + b.iter(|| get_username_and_hostname(&utsname)); }); c.bench_function("os_name", |b| b.iter(get_os_pretty_name)); c.bench_function("kernel_version", |b| b.iter(|| get_system_info(&utsname))); diff --git a/src/colors.rs b/src/colors.rs index 061db15..11a4b9f 100644 --- a/src/colors.rs +++ b/src/colors.rs @@ -12,8 +12,8 @@ pub struct Colors { impl Colors { const fn new(is_no_color: bool) -> Self { - match is_no_color { - true => Self { + if is_no_color { + Self { reset: "", blue: "", cyan: "", @@ -21,8 +21,9 @@ impl Colors { yellow: "", red: "", magenta: "", - }, - false => Self { + } + } else { + Self { reset: "\x1b[0m", blue: "\x1b[34m", cyan: "\x1b[36m", @@ -30,7 +31,7 @@ impl Colors { yellow: "\x1b[33m", red: "\x1b[31m", magenta: "\x1b[35m", - }, + } } } } diff --git a/src/main.rs b/src/main.rs index 05024df..3297d90 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,7 +9,7 @@ use crate::desktop::get_desktop_info; use crate::release::{get_os_pretty_name, get_system_info}; use crate::system::{get_memory_usage, get_root_disk_usage, get_shell, get_username_and_hostname}; use crate::uptime::get_current; -use std::io::Write; +use std::io::{Write, stdout}; fn main() -> Result<(), Box> { let args: Vec = std::env::args().collect(); @@ -20,7 +20,7 @@ fn main() -> Result<(), Box> { let fields = Fields { user_info: get_username_and_hostname(&utsname), os_name: get_os_pretty_name()?, - kernel_version: get_system_info(&utsname)?, + kernel_version: get_system_info(&utsname), shell: get_shell(), desktop: get_desktop_info(), uptime: get_current()?, @@ -77,10 +77,9 @@ fn print_system_info(fields: &Fields) { {blue} ▟█▛{cyan}▗█▖ {cyan}▟█▛ {cyan} {blue}Desktop{reset}  {desktop} {blue} ▝█▛ {cyan}██▖{blue}▗▄▄▄▄▄▄▄▄▄▄▄ {cyan} {blue}Memory{reset}  {memory_usage} {blue} ▝ {cyan}▟█▜█▖{blue}▀▀▀▀▀██▛▀▀▘ {cyan}󱥎 {blue}Storage (/){reset}  {storage} - {cyan} ▟█▘ ▜█▖ {blue}▝█▛ {cyan} {blue}Colors{reset}  {colors}"); + {cyan} ▟█▘ ▜█▖ {blue}▝█▛ {cyan} {blue}Colors{reset}  {colors}\n"); - std::io::stdout() - .lock() - .write_all(format!("{}\n", system_info).as_bytes()) + stdout() + .write_all(system_info.as_bytes()) .expect("Failed to write to stdout"); } diff --git a/src/release.rs b/src/release.rs index 08e5454..6d1b20f 100644 --- a/src/release.rs +++ b/src/release.rs @@ -4,13 +4,13 @@ use std::{ io::{self, BufRead, BufReader}, }; -pub fn get_system_info(utsname: &UtsName) -> nix::Result { - Ok(format!( +pub fn get_system_info(utsname: &UtsName) -> String { + format!( "{} {} ({})", utsname.sysname().to_str().unwrap_or("Unknown"), utsname.release().to_str().unwrap_or("Unknown"), utsname.machine().to_str().unwrap_or("Unknown") - )) + ) } pub fn get_os_pretty_name() -> Result { diff --git a/src/system.rs b/src/system.rs index 4cc1342..aed8752 100644 --- a/src/system.rs +++ b/src/system.rs @@ -49,7 +49,6 @@ pub fn get_root_disk_usage() -> Result { } pub fn get_memory_usage() -> Result { - #[inline(always)] fn parse_memory_info() -> Result<(f64, f64), io::Error> { let mut total_memory_kb = 0.0; let mut available_memory_kb = 0.0;