1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
use properties::parse::{ GradientStopRepr, gradient_stop, AngleRepr, angle, }; use nom::alpha; use std::str; #[derive(Debug, Clone)] pub struct GradientFunction<'a, 'b> { pub stops: Vec<GradientStopRepr>, pub angle: AngleRepr<'a, 'b>, } // named!(fun_separated(&[u8]) -> GradientFunction, do_parse!( // angle: angle >> // char!(',') >> // stops: map_res!(take_until!(char!(b")")), separated_list!(char!(b","), gradient_stop)) >> // (GradientFunction { // angle, // stops // }) // )); // named!(fun_arguments(&[u8]) -> (AngleRepr, Vec<GradientStopRepr>), // delimited!( // char!('('), // fun_separated, // char!(')') // ) // ); // // named!(pub transform_parse(&[u8]) -> GradientFunction, do_parse!( // // tag!("linear-gradient") >> // // args: fun_arguments >> // // (GradientFunction { // // }) // // )); // #[test] // fn test_transform_function_parse() { // }