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
* /
2024-04-27 20:01:47 +00:00
use colored ::{ ColoredString , Colorize } ;
2024-04-24 19:35:53 +00:00
2024-04-27 20:01:47 +00:00
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 ( ) ) ;
2024-04-27 20:01:47 +00:00
if let Err ( e ) = pacman_api ::check ( ) {
error_println ( e . to_string ( ) ) ;
2024-04-24 05:57:45 +00:00
return ;
2024-04-27 20:01:47 +00:00
} else {
notice_println ( " Pacman is installed \n " )
2024-04-24 05:57:45 +00:00
}
2024-04-27 20:01:47 +00:00
notice_println ( " Running pacman update " ) ;
if let Err ( e ) = pacman_api ::update_all ( ) {
error_println ( e . to_string ( ) ) ;
2024-04-28 04:47:20 +00:00
return ;
2024-04-24 19:35:53 +00:00
}
2024-04-24 18:16:27 +00:00
2024-04-27 20:01:47 +00:00
notice_println ( " Move onto something else " ) ;
2024-04-24 05:11:12 +00:00
}
2024-04-27 20:01:47 +00:00
fn copyright_notice ( ) -> ColoredString {
" Rust Arch Linux Updater Copyright (C) 2024 Luke Harding <luke@lukeh990.io> \n This program comes with ABSOLUTELY NO WARRANTY \n This 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
}