feat: add prompt to command

This commit is contained in:
Strix 2023-10-14 22:39:51 +02:00
parent e4fe3c5779
commit 2a67c6f633
No known key found for this signature in database
GPG key ID: 49B2E37B8915B774
6 changed files with 39 additions and 17 deletions

View file

@ -1,22 +1,16 @@
use std::io;
use std::fs::remove_dir_all;
use std::path::Path;
use std::process::exit;
use std::{io, thread};
use libc::SIGINT;
use log::{debug, error, info, trace};
use log::{debug, trace};
use errors::{BinError, BuildError, InstallError};
use manifest::Manifest;
use pkgfile::PKGFile;
use crate::CONFIG;
use crate::package::identifier::{PackageIdentifier, PackageLocator};
use crate::package::Package;
use crate::tmpfs::TempDir;
use crate::types::fetch::TryFetch;
use crate::util::fs::{copy_recursively, visit_dirs};
use crate::util::prompts::{is_noninteractive, prompt_bool};
use crate::util::fs::copy_recursively;
pub mod errors;

View file

@ -1,8 +1,11 @@
use std::fmt::{Display, Formatter};
use log::trace;
use crate::package::Package;
pub struct PackageQueue {
packages: Vec<Package>
packages: Vec<Package>,
}
impl PackageQueue {
@ -17,7 +20,7 @@ impl PackageQueue {
for dependency in dependencies {
trace!("Checking package: {}", &dependency.identifier);
if self.packages.contains(&dependency) {
continue
continue;
}
trace!("Adding package: {}", &dependency.identifier);
self.packages.push(dependency);
@ -31,7 +34,18 @@ impl PackageQueue {
self.packages
.iter_mut()
.for_each(|pkg| {
pkg.install(build);
pkg.install(build).expect("TODO: panic message");
});
}
}
impl Display for PackageQueue {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
for pkg in &self.packages {
if let Err(e) = write!(f, "{}", pkg.identifier) {
return Err(e);
}
}
write!(f, "")
}
}