/* Rust Arch Linux Updater Copyright (C) 2024 Luke Harding This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* main.rs This file contains the primary logic of the application */ use colored::{ColoredString, Colorize}; mod install_check; mod pacman_api; mod shell_commands; fn main() { println!("{}", copyright_notice()); if let Err(e) = pacman_api::check() { error_println(e.to_string()); return; } else { notice_println("Pacman is installed\n") } notice_println("Running pacman update"); if let Err(e) = pacman_api::update_all() { error_println(e.to_string()); } notice_println("Move onto something else"); } fn copyright_notice() -> ColoredString { "Rust Arch Linux Updater Copyright (C) 2024 Luke Harding \nThis program comes with ABSOLUTELY NO WARRANTY\nThis is free software, and you are welcome to redistribute it under certain conditions\n".italic() } pub fn error_println(msg: impl Into) { eprintln!("{}", msg.into().red().bold()) } pub fn notice_println(msg: impl Into) { println!("{}", msg.into().green().bold()) }