Browse Source

refactoring: unwrap preprocessing env set key as its always Some

main
fdai7451 2 years ago
parent
commit
65b9ff6185
  1. 6
      src/preprocess.rs

6
src/preprocess.rs

@ -9,14 +9,12 @@ const ENV_SET: Lazy<Regex> = Lazy::new(|| Regex::new(r#"(?P<key>\w+)=(?P<value>\
/// returns `Ok(None)`, do not execute a command. /// returns `Ok(None)`, do not execute a command.
pub fn preprocess(line: String) -> Result<Option<String>, ShellError> { pub fn preprocess(line: String) -> Result<Option<String>, ShellError> {
if let Some(capture) = ENV_SET.captures(&line) { if let Some(capture) = ENV_SET.captures(&line) {
let Some(key) = capture.name("key") else {
return Err(ShellError::MalformedArgs("cannot find key to set env variable".to_string()))
};
let key = capture.name("key").unwrap().as_str();
let value = capture let value = capture
.name("value") .name("value")
.map_or("".to_string(), |v| v.as_str().to_string()); .map_or("".to_string(), |v| v.as_str().to_string());
env::set_var(key.as_str(), value);
env::set_var(key, value);
return Ok(None); return Ok(None);
} }

Loading…
Cancel
Save