X-Git-Url: https://git.r.bdr.sh/rbdr/blog/blobdiff_plain/a9c6be4162bd15bd41ba3605127b56cb1eb32f32..c4b892b16fb92c7d89eaee0b1588c52c8836216b:/src/command/add_remote.rs?ds=sidebyside diff --git a/src/command/add_remote.rs b/src/command/add_remote.rs index c98330f..e9157f3 100644 --- a/src/command/add_remote.rs +++ b/src/command/add_remote.rs @@ -1,5 +1,6 @@ -use std::io::Result; +use std::io::{Error, ErrorKind::Other, Result}; use crate::configuration::Configuration; +use crate::remote::add; pub struct AddRemote; @@ -14,9 +15,10 @@ impl super::Command for AddRemote { vec![] } - fn execute(&self, input: Option<&String>, _: &Configuration, _: &String) -> Result<()> { - println!("Add Remote: {:?}!", input); - return Ok(()) + fn execute(&self, input: Option<&String>, configuration: &Configuration, _: &String) -> Result<()> { + let input = input + .ok_or_else(|| Error::new(Other, "You must provide a location for the remote."))?; + add(&configuration.config_directory, &configuration.remote_config, input) } fn after_dependencies(&self) -> Vec> {