improve formatting of 'show'
This commit is contained in:
+12
@@ -188,12 +188,24 @@ impl Pacdef {
|
||||
fn show_group_content(&self, groups: &ArgMatches) -> Result<()> {
|
||||
let mut iter = groups.get_many::<String>("group").unwrap().peekable();
|
||||
|
||||
let show_more_than_one_group = iter.size_hint().0 > 1;
|
||||
|
||||
while let Some(arg_group) = iter.next() {
|
||||
let group = self
|
||||
.groups
|
||||
.iter()
|
||||
.find(|g| g.name == *arg_group)
|
||||
.ok_or_else(|| anyhow!("group {} not found", *arg_group))?;
|
||||
|
||||
if show_more_than_one_group {
|
||||
let name = &group.name;
|
||||
println!("{name}");
|
||||
for _ in 0..name.len() {
|
||||
print!("-");
|
||||
}
|
||||
println!();
|
||||
}
|
||||
|
||||
println!("{group}");
|
||||
if iter.peek().is_some() {
|
||||
println!();
|
||||
|
||||
@@ -136,7 +136,7 @@ impl Display for Group {
|
||||
while let Some(section) = iter.next() {
|
||||
section.fmt(f)?;
|
||||
if iter.peek().is_some() {
|
||||
f.write_char('\n')?;
|
||||
f.write_str("\n\n")?;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
||||
+5
-1
@@ -2,7 +2,7 @@ use std::collections::HashSet;
|
||||
use std::iter::Peekable;
|
||||
use std::vec::IntoIter;
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
use anyhow::{bail, Context, Result};
|
||||
use clap::ArgMatches;
|
||||
use regex::Regex;
|
||||
|
||||
@@ -27,6 +27,10 @@ pub(crate) fn search_packages(args: &ArgMatches, groups: &HashSet<Group>) -> Res
|
||||
}
|
||||
}
|
||||
|
||||
if vec.is_empty() {
|
||||
bail!("no packages matching query")
|
||||
}
|
||||
|
||||
print_triples(vec);
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user