From bfe80c10e177a61f27bb0ebb6f502305a98eec90 Mon Sep 17 00:00:00 2001 From: Abraham Toriz Date: Mon, 21 Jun 2021 19:54:10 -0500 Subject: [PATCH] display all, full, sheet and current active --- src/commands/display.rs | 34 ++++++++++++++++++++++++++++++++-- src/commands/in.rs | 3 +-- src/database.rs | 19 +++++++++++++++++-- src/editor.rs | 3 ++- src/error.rs | 3 +++ src/formatters.rs | 34 +++++++++++++++++++++++++++++++++- src/main.rs | 7 ++++--- src/models.rs | 18 +++++++++++++++--- src/types.rs | 20 ++++++++++++++++++-- 9 files changed, 125 insertions(+), 16 deletions(-) diff --git a/src/commands/display.rs b/src/commands/display.rs index d8dc8b3..9d10e80 100644 --- a/src/commands/display.rs +++ b/src/commands/display.rs @@ -1,5 +1,6 @@ use std::convert::TryFrom; use std::io::Write; +use std::str::FromStr; use clap::ArgMatches; @@ -11,12 +12,31 @@ use crate::config::Config; use super::Command; +enum Sheet { + All, + Full, + Sheet(String), +} + +impl FromStr for Sheet { + type Err = error::Error; + + fn from_str(name: &str) -> error::Result { + Ok(match name { + "all" => Sheet::All, + "full" => Sheet::Full, + name => Sheet::Sheet(name.into()), + }) + } +} + pub struct Args { ids: bool, start: Option