refactor: clean up a few things

I've decided to keep lazy_static for now as std::sync::LazyLock seems to
have a slightly bigger impact on binary size.
This commit is contained in:
ErrorNoInternet 2025-04-15 03:19:53 -04:00
commit c139026704
No known key found for this signature in database
GPG key ID: 2486BFB7B1E6A4A3
5 changed files with 16 additions and 17 deletions

View file

@ -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::colors::print_dots;
use microfetch_lib::desktop::get_desktop_info; use microfetch_lib::desktop::get_desktop_info;
use microfetch_lib::release::{get_os_pretty_name, get_system_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) { fn main_benchmark(c: &mut Criterion) {
let utsname = nix::sys::utsname::uname().expect("lol"); let utsname = nix::sys::utsname::uname().expect("lol");
c.bench_function("user_info", |b| { 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("os_name", |b| b.iter(get_os_pretty_name));
c.bench_function("kernel_version", |b| b.iter(|| get_system_info(&utsname))); c.bench_function("kernel_version", |b| b.iter(|| get_system_info(&utsname)));

View file

@ -12,8 +12,8 @@ pub struct Colors {
impl Colors { impl Colors {
const fn new(is_no_color: bool) -> Self { const fn new(is_no_color: bool) -> Self {
match is_no_color { if is_no_color {
true => Self { Self {
reset: "", reset: "",
blue: "", blue: "",
cyan: "", cyan: "",
@ -21,8 +21,9 @@ impl Colors {
yellow: "", yellow: "",
red: "", red: "",
magenta: "", magenta: "",
}, }
false => Self { } else {
Self {
reset: "\x1b[0m", reset: "\x1b[0m",
blue: "\x1b[34m", blue: "\x1b[34m",
cyan: "\x1b[36m", cyan: "\x1b[36m",
@ -30,7 +31,7 @@ impl Colors {
yellow: "\x1b[33m", yellow: "\x1b[33m",
red: "\x1b[31m", red: "\x1b[31m",
magenta: "\x1b[35m", magenta: "\x1b[35m",
}, }
} }
} }
} }

View file

@ -9,7 +9,7 @@ use crate::desktop::get_desktop_info;
use crate::release::{get_os_pretty_name, get_system_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::system::{get_memory_usage, get_root_disk_usage, get_shell, get_username_and_hostname};
use crate::uptime::get_current; use crate::uptime::get_current;
use std::io::Write; use std::io::{Write, stdout};
fn main() -> Result<(), Box<dyn std::error::Error>> { fn main() -> Result<(), Box<dyn std::error::Error>> {
let args: Vec<String> = std::env::args().collect(); let args: Vec<String> = std::env::args().collect();
@ -20,7 +20,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
let fields = Fields { let fields = Fields {
user_info: get_username_and_hostname(&utsname), user_info: get_username_and_hostname(&utsname),
os_name: get_os_pretty_name()?, os_name: get_os_pretty_name()?,
kernel_version: get_system_info(&utsname)?, kernel_version: get_system_info(&utsname),
shell: get_shell(), shell: get_shell(),
desktop: get_desktop_info(), desktop: get_desktop_info(),
uptime: get_current()?, uptime: get_current()?,
@ -77,10 +77,9 @@ fn print_system_info(fields: &Fields) {
{blue} {cyan} {cyan} {cyan} {blue}Desktop{reset} {desktop} {blue} {cyan} {cyan} {cyan} {blue}Desktop{reset} {desktop}
{blue} {cyan}{blue} {cyan} {blue}Memory{reset} {memory_usage} {blue} {cyan}{blue} {cyan} {blue}Memory{reset} {memory_usage}
{blue} {cyan}{blue} {cyan}󱥎 {blue}Storage (/){reset} {storage} {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() stdout()
.lock() .write_all(system_info.as_bytes())
.write_all(format!("{}\n", system_info).as_bytes())
.expect("Failed to write to stdout"); .expect("Failed to write to stdout");
} }

View file

@ -4,13 +4,13 @@ use std::{
io::{self, BufRead, BufReader}, io::{self, BufRead, BufReader},
}; };
pub fn get_system_info(utsname: &UtsName) -> nix::Result<String> { pub fn get_system_info(utsname: &UtsName) -> String {
Ok(format!( format!(
"{} {} ({})", "{} {} ({})",
utsname.sysname().to_str().unwrap_or("Unknown"), utsname.sysname().to_str().unwrap_or("Unknown"),
utsname.release().to_str().unwrap_or("Unknown"), utsname.release().to_str().unwrap_or("Unknown"),
utsname.machine().to_str().unwrap_or("Unknown") utsname.machine().to_str().unwrap_or("Unknown")
)) )
} }
pub fn get_os_pretty_name() -> Result<String, io::Error> { pub fn get_os_pretty_name() -> Result<String, io::Error> {

View file

@ -49,7 +49,6 @@ pub fn get_root_disk_usage() -> Result<String, io::Error> {
} }
pub fn get_memory_usage() -> Result<String, io::Error> { pub fn get_memory_usage() -> Result<String, io::Error> {
#[inline(always)]
fn parse_memory_info() -> Result<(f64, f64), io::Error> { fn parse_memory_info() -> Result<(f64, f64), io::Error> {
let mut total_memory_kb = 0.0; let mut total_memory_kb = 0.0;
let mut available_memory_kb = 0.0; let mut available_memory_kb = 0.0;