feat: add ColumnType as_str method and improve error handling
This commit is contained in:
@@ -59,6 +59,22 @@ pub enum ColumnType {
|
||||
Meta,
|
||||
}
|
||||
|
||||
impl ColumnType {
|
||||
/// Returns the human-readable string representation of the column type
|
||||
pub fn as_str(&self) -> &str {
|
||||
match self {
|
||||
ColumnType::Id => "id",
|
||||
ColumnType::Time => "time",
|
||||
ColumnType::Size => "size",
|
||||
ColumnType::Compression => "compression",
|
||||
ColumnType::FileSize => "filesize",
|
||||
ColumnType::FilePath => "filepath",
|
||||
ColumnType::Tags => "tags",
|
||||
ColumnType::Meta => "meta",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_format_box_chars_no_border_line_separator() -> TableFormat {
|
||||
prettytable::format::FormatBuilder::new()
|
||||
.column_separator('│')
|
||||
|
||||
@@ -69,8 +69,9 @@ pub fn mode_list(
|
||||
for column in list_format.clone() {
|
||||
let mut column_format = column.split(":").into_iter();
|
||||
let column_name = column_format.next().expect("Unable to parse column name");
|
||||
let column_type = ColumnType::from_str(column_name)
|
||||
.expect(format!("Unknown column {:?}", column_name).as_str());
|
||||
let column_type = ColumnType::from_str(column_name).map_err(|_| {
|
||||
anyhow!("Unknown column {:?}", column_name)
|
||||
})?;
|
||||
|
||||
if column_type == ColumnType::Meta {
|
||||
let meta_name = column_format
|
||||
|
||||
Reference in New Issue
Block a user