rust-archlinux-update/src/main.rs

49 lines
1.7 KiB
Rust
Raw Normal View History

2024-04-24 05:11:12 +00:00
/*
Rust Arch Linux Updater
Copyright (C) 2024 Luke Harding <luke@lukeh990.io>
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 <https://www.gnu.org/licenses/>.
*/
2024-04-24 16:42:00 +00:00
/*
main.rs
This file contains the primary logic of the application
*/
use colored::{ColoredString, Colorize};
2024-04-24 19:35:53 +00:00
mod install_check;
mod pacman_api;
2024-04-24 16:42:00 +00:00
mod shell_commands;
2024-04-24 05:57:45 +00:00
fn main() {
2024-04-24 05:11:12 +00:00
println!("{}", copyright_notice());
if let Err(e) = pacman_api::check() {
error_println(e.to_string());
2024-04-24 05:57:45 +00:00
return;
} else {
notice_println("Pacman is installed\n")
2024-04-24 05:57:45 +00:00
}
notice_println("Running pacman update");
if let Err(e) = pacman_api::update_all() {
error_println(e.to_string());
2024-04-24 19:35:53 +00:00
}
notice_println("Move onto something else");
2024-04-24 05:11:12 +00:00
}
fn copyright_notice() -> ColoredString {
"Rust Arch Linux Updater Copyright (C) 2024 Luke Harding <luke@lukeh990.io>\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<String>) {
eprintln!("{}", msg.into().red().bold())
}
pub fn notice_println(msg: impl Into<String>) {
println!("{}", msg.into().green().bold())
2024-04-24 05:11:12 +00:00
}