diff options
| -rw-r--r-- | src/config/role.rs | 7 | ||||
| -rw-r--r-- | src/main.rs | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/config/role.rs b/src/config/role.rs index 23a69df..fee989e 100644 --- a/src/config/role.rs +++ b/src/config/role.rs @@ -1,5 +1,6 @@ use super::message::{Message, MessageRole}; +use anyhow::{Context, Result}; use serde::{Deserialize, Serialize}; const TEMP_ROLE_NAME: &str = "temp"; @@ -28,6 +29,12 @@ impl Role { self.name == TEMP_ROLE_NAME } + pub fn info(&self) -> Result<String> { + let output = serde_yaml::to_string(&self) + .with_context(|| format!("Unable to show info about role {}", &self.name))?; + Ok(output) + } + pub fn embeded(&self) -> bool { self.prompt.contains(INPUT_PLACEHOLDER) } diff --git a/src/main.rs b/src/main.rs index f551e9c..6baf198 100644 --- a/src/main.rs +++ b/src/main.rs @@ -81,6 +81,8 @@ fn main() -> Result<()> { if cli.info { let info = if let Some(session) = &config.read().session { session.info()? + } else if let Some(role) = &config.read().role { + role.info()? } else { config.read().info()? }; |
