fix: move format constant to common and update stdout check

This commit is contained in:
Andrew Phillips (aider)
2025-05-10 12:37:08 -03:00
parent d9f8b02cb6
commit 33757dabee
2 changed files with 24 additions and 3 deletions

View File

@@ -44,3 +44,24 @@ pub fn string_column(s: String, column_width: usize) -> String {
pub fn size_column(size: u64, human_readable: bool, column_width: usize) -> String {
string_column(format_size(size, human_readable), column_width)
}
pub const FORMAT_BOX_CHARS_NO_BORDER_LINE_SEPARATOR: prettytable::format::TableFormat =
prettytable::format::FormatBuilder::new()
.column_separator('│')
.borders('│')
.separators(
&[prettytable::format::LinePosition::Top],
prettytable::format::LineSeparator::new('─', '┬', '┌', '┐')
)
.separators(
&[prettytable::format::LinePosition::Title],
prettytable::format::LineSeparator::new('─', '┼', '├', '┤')
)
.separators(
&[prettytable::format::LinePosition::Bottom],
prettytable::format::LineSeparator::new('─', '┴', '└', '┘')
)
.padding(1, 1)
.build();
string_column(format_size(size, human_readable), column_width)
}

View File

@@ -4,7 +4,7 @@ use clap::Command;
use std::path::PathBuf;
use std::str::FromStr;
use crate::modes::common::{format_size, string_column};
use crate::modes::common::{format_size, string_column, FORMAT_BOX_CHARS_NO_BORDER_LINE_SEPARATOR};
use crate::compression::get_engine;
use crate::compression::CompressionType;
use crate::db::{get_item, get_item_last, get_item_matching};
@@ -49,8 +49,8 @@ pub fn mode_info(
.collect();
let mut table = Table::new();
if is_terminal::stdout().is_terminal() {
table.set_format(*format::consts::FORMAT_BOX_CHARS_NO_BORDER_LINE_SEPARATOR);
if std::io::stdout().is_terminal() {
table.set_format(*FORMAT_BOX_CHARS_NO_BORDER_LINE_SEPARATOR);
} else {
table.set_format(*format::consts::FORMAT_NO_BORDER_LINE_SEPARATOR);
}