fixing the parsing signature
No need for function to take a vector, instead it'll just generate one from the value itself and then that'll be appended to the list of slides
This commit is contained in:
parent
53ba0385f5
commit
30e6ce40b5
|
@ -2,7 +2,7 @@ use crisp::types::{Symbol, Value};
|
||||||
|
|
||||||
use crate::Slide;
|
use crate::Slide;
|
||||||
|
|
||||||
pub fn parse_lisp(value: Value, vector: Vec<Slide>) -> Vec<Slide> {
|
pub fn parse_lisp(value: Value) -> Vec<Slide> {
|
||||||
match &value {
|
match &value {
|
||||||
Value::List(vec) => match &vec[0] {
|
Value::List(vec) => match &vec[0] {
|
||||||
Value::Symbol(Symbol(s)) if s == "slide" => {
|
Value::Symbol(Symbol(s)) if s == "slide" => {
|
||||||
|
@ -40,8 +40,7 @@ mod test {
|
||||||
Value::List(value) => {
|
Value::List(value) => {
|
||||||
let mut slide_vec = vec![];
|
let mut slide_vec = vec![];
|
||||||
for value in value {
|
for value in value {
|
||||||
let inner_vector = vec![];
|
let mut vec = parse_lisp(value);
|
||||||
let mut vec = parse_lisp(value, inner_vector);
|
|
||||||
slide_vec.append(&mut vec);
|
slide_vec.append(&mut vec);
|
||||||
}
|
}
|
||||||
assert_eq!(slide_vec, test_vec)
|
assert_eq!(slide_vec, test_vec)
|
||||||
|
|
|
@ -155,9 +155,7 @@ impl cosmic::Application for App {
|
||||||
match lisp {
|
match lisp {
|
||||||
Value::List(vec) => {
|
Value::List(vec) => {
|
||||||
for value in vec {
|
for value in vec {
|
||||||
let inner_vector = vec![];
|
let mut inner_vector = parse_lisp(value);
|
||||||
let mut inner_vector =
|
|
||||||
parse_lisp(value, inner_vector);
|
|
||||||
slide_vector.append(&mut inner_vector);
|
slide_vector.append(&mut inner_vector);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue