diff options
Diffstat (limited to 'src/config/mod.rs')
| -rw-r--r-- | src/config/mod.rs | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs index 124eaa5..b9d9d8e 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -711,7 +711,7 @@ impl Config { } } } - println!("✨ Successfully deleted {kind}."); + println!("✓ Successfully deleted {kind}."); Ok(()) } @@ -1062,8 +1062,8 @@ impl Config { session.exit(&sessions_dir, self.working_mode.is_repl())?; self.last_message = None; } - if let Some(agent) = self.agent.as_mut() { - agent.set_session_variables(None); + if self.agent.is_some() { + self.init_agent_shared_variables()?; } Ok(()) } @@ -1863,8 +1863,9 @@ impl Config { None => return Ok(()), }; let new_variables = - Agent::init_agent_variables(agent.defined_variables(), agent.config_variables())?; + Agent::init_agent_variables(agent.defined_variables(), agent.shared_variables())?; agent.set_shared_variables(new_variables); + agent.set_session_variables(None); Ok(()) } @@ -1873,18 +1874,10 @@ impl Config { (Some(agent), Some(session)) => (agent, session), _ => return Ok(()), }; - let config_variables = agent.config_variables(); let shared_variables = agent.shared_variables(); - let mut all_variables = if shared_variables.is_empty() { - config_variables.clone() - } else { - shared_variables.clone() - }; + let mut all_variables = shared_variables.clone(); all_variables.extend(session.agent_variables().clone()); let new_variables = Agent::init_agent_variables(agent.defined_variables(), &all_variables)?; - if shared_variables.is_empty() { - agent.set_shared_variables(new_variables.clone()); - } agent.set_session_variables(Some(new_variables)); session.sync_agent(agent, false); Ok(()) @@ -2210,7 +2203,7 @@ fn create_config_file(config_path: &Path) -> Result<()> { std::fs::set_permissions(config_path, perms)?; } - println!("✨ Saved config file to '{}'.\n", config_path.display()); + println!("✓ Saved config file to '{}'.\n", config_path.display()); Ok(()) } |
