diff --git a/src/util/pattern.rs b/src/util/pattern.rs index 7970092..a857bff 100644 --- a/src/util/pattern.rs +++ b/src/util/pattern.rs @@ -7,8 +7,8 @@ use std::{ type ParseError = Box; trait Pattern<'a> { - fn execute(&self, values: &'a mut [RawColor]); - fn parse(args: Vec) -> Result; + pub fn execute(&self, values: &'a mut [RawColor]); + pub fn parse(args: Vec) -> Result; } impl<'a> TryFrom> for Box> { @@ -48,7 +48,7 @@ impl<'a> Pattern<'a> for Value { if self.b.is_some() { color[0] = self.b.unwrap(); } - values[i] + values[i] = color; } } fn parse(args: Vec) -> Result { @@ -57,9 +57,9 @@ impl<'a> Pattern<'a> for Value { let param3 = args[2].parse::(); if param1.is_ok() && param2.is_ok() && param3.is_ok() { Ok(Value{ - r: param1.unwrap(), - g: param2.unwrap(), - b: param3.unwrap() + r: Some(param1.unwrap()), + g: Some(param2.unwrap()), + b: Some(param3.unwrap()) }) } else { @@ -87,7 +87,7 @@ impl<'a> Pattern<'a> for Value { }) } }, - Err() => Err() + Err(e) => Err(e) } } }