diff --git a/Cargo.lock b/Cargo.lock index 922facd..8a5778d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -52,6 +52,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + [[package]] name = "beef" version = "0.5.0" @@ -284,6 +290,7 @@ checksum = "c4a1b21a2971cea49ca4613c0e9fe8225ecaf5de64090fddc6002284726e9244" dependencies = [ "console", "lazy_static", + "ron", "serde", "serde_json", "serde_yaml", @@ -522,6 +529,17 @@ version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +[[package]] +name = "ron" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064ea8613fb712a19faf920022ec8ddf134984f100090764a4e1d768f3827f1f" +dependencies = [ + "base64", + "bitflags", + "serde", +] + [[package]] name = "rustc_version" version = "0.3.3" diff --git a/Cargo.toml b/Cargo.toml index 9c02841..8b35304 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,4 +32,4 @@ simplexpr = { path = "../../projects/simplexpr" } lalrpop = "0.19.5" [dev-dependencies] -insta = "1.7" +insta = { version = "1.7", features = ["ron"]} diff --git a/src/config/config.rs b/src/config/config.rs index 9c77961..e34e766 100644 --- a/src/config/config.rs +++ b/src/config/config.rs @@ -47,7 +47,7 @@ impl FromAst for TopLevel { } } -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Debug, PartialEq, Eq, Clone, serde::Serialize)] pub struct Config { widget_definitions: HashMap, var_definitions: HashMap, diff --git a/src/config/mod.rs b/src/config/mod.rs index c1c9b70..42c678c 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -1,5 +1,7 @@ mod config; pub mod script_var_definition; +#[cfg(test)] +mod test; pub mod validate; pub mod var_definition; pub mod widget_definition; diff --git a/src/config/script_var_definition.rs b/src/config/script_var_definition.rs index ca46c80..5801ca2 100644 --- a/src/config/script_var_definition.rs +++ b/src/config/script_var_definition.rs @@ -12,7 +12,7 @@ use crate::{ value::{AttrName, VarName}, }; -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize)] pub enum ScriptVarDefinition { Poll(PollScriptVar), Tail(TailScriptVar), @@ -27,13 +27,14 @@ impl ScriptVarDefinition { } } -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize)] pub enum VarSource { // TODO allow for other executors? (python, etc) Shell(String), + #[serde(skip)] Function(fn() -> Result>), } -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize)] pub struct PollScriptVar { pub name: VarName, pub command: VarSource, @@ -55,7 +56,7 @@ impl FromAstElementContent for PollScriptVar { } } -#[derive(Clone, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq, serde::Serialize)] pub struct TailScriptVar { pub name: VarName, pub command: String, diff --git a/src/config/snapshots/eww_config__config__test__config.snap b/src/config/snapshots/eww_config__config__test__config.snap new file mode 100644 index 0000000..d7ba933 --- /dev/null +++ b/src/config/snapshots/eww_config__config__test__config.snap @@ -0,0 +1,55 @@ +--- +source: src/config/test.rs +expression: config.unwrap() + +--- +Config( + widget_definitions: { + "bar": WidgetDefinition( + name: "bar", + expected_args: [ + AttrName("arg"), + AttrName("arg2"), + ], + widget: WidgetUse( + name: "text", + attrs: { + AttrName("text"): Literal(Span(99, 104, 0), DynVal("bla", None)), + }, + children: [], + span: Span(99, 104, 0), + ), + span: Span(61, 105, 0), + args_span: Span(76, 86, 0), + ), + "foo": WidgetDefinition( + name: "foo", + expected_args: [ + AttrName("arg"), + ], + widget: WidgetUse( + name: "text", + attrs: { + AttrName("text"): Literal(Span(44, 51, 0), DynVal("heyho", None)), + }, + children: [], + span: Span(44, 51, 0), + ), + span: Span(11, 52, 0), + args_span: Span(26, 31, 0), + ), + }, + var_definitions: { + VarName("some_var"): VarDefinition( + name: VarName("some_var"), + initial_value: DynVal("bla", None), + span: Span(114, 137, 0), + ), + }, + script_vars: { + VarName("stuff"): Tail(TailScriptVar( + name: VarName("stuff"), + command: "tail -f stuff", + )), + }, +) diff --git a/src/config/test.rs b/src/config/test.rs new file mode 100644 index 0000000..9d9c454 --- /dev/null +++ b/src/config/test.rs @@ -0,0 +1,30 @@ +use crate::{ + config::config::Config, + parser::{ + self, + ast::{Ast, Span}, + element::FromAst, + lexer::Lexer, + }, +}; + +#[test] +fn test_config() { + let input = r#" + (defwidget foo [arg] + "heyho") + (defwidget bar [arg arg2] + "bla") + (defvar some_var "bla") + (defpollvar stuff :interval "12s" "date") + (deftailvar stuff "tail -f stuff") + "#; + + let lexer = Lexer::new(0, input.to_string()); + let p = parser::parser::ToplevelParser::new(); + let (span, parse_result) = p.parse(0, lexer).unwrap(); + let config = Config::from_ast(Ast::List(span, parse_result)); + insta::with_settings!({sort_maps => true}, { + insta::assert_ron_snapshot!(config.unwrap()); + }); +} diff --git a/src/config/var_definition.rs b/src/config/var_definition.rs index b60d078..3002980 100644 --- a/src/config/var_definition.rs +++ b/src/config/var_definition.rs @@ -12,7 +12,7 @@ use crate::{ value::{AttrName, VarName}, }; -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Debug, PartialEq, Eq, Clone, serde::Serialize)] pub struct VarDefinition { pub name: VarName, pub initial_value: DynVal, diff --git a/src/config/widget_definition.rs b/src/config/widget_definition.rs index 172b687..bb3764f 100644 --- a/src/config/widget_definition.rs +++ b/src/config/widget_definition.rs @@ -13,7 +13,7 @@ use crate::{ }; use super::widget_use::WidgetUse; -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Debug, PartialEq, Eq, Clone, serde::Serialize)] pub struct WidgetDefinition { pub name: String, pub expected_args: Vec, diff --git a/src/config/widget_use.rs b/src/config/widget_use.rs index 79949e3..be29039 100644 --- a/src/config/widget_use.rs +++ b/src/config/widget_use.rs @@ -11,7 +11,7 @@ use crate::{ spanned, value::AttrName, }; -#[derive(Debug, PartialEq, Eq, Clone)] +#[derive(Debug, PartialEq, Eq, Clone, serde::Serialize)] pub struct WidgetUse { pub name: String, pub attrs: HashMap, diff --git a/src/parser/ast.rs b/src/parser/ast.rs index c68d279..ed10d76 100644 --- a/src/parser/ast.rs +++ b/src/parser/ast.rs @@ -7,7 +7,7 @@ use std::fmt::Display; use super::element::FromAst; use crate::error::{AstError, AstResult, OptionAstErrorExt}; -#[derive(Eq, PartialEq, Clone, Copy)] +#[derive(Eq, PartialEq, Clone, Copy, serde::Serialize)] pub struct Span(pub usize, pub usize, pub usize); impl Into for Span { @@ -121,9 +121,9 @@ impl std::fmt::Display for Ast { match self { List(_, x) => write!(f, "({})", x.iter().map(|e| format!("{}", e)).join(" ")), Array(_, x) => write!(f, "({})", x.iter().map(|e| format!("{}", e)).join(" ")), - Keyword(_, x) => write!(f, "{}", x), + Keyword(_, x) => write!(f, ":{}", x), Symbol(_, x) => write!(f, "{}", x), - Value(_, x) => write!(f, "{}", x), + Value(_, x) => write!(f, "\"{}\"", x), SimplExpr(_, x) => write!(f, "{{{}}}", x), Comment(_) => write!(f, ""), } diff --git a/src/parser/element.rs b/src/parser/element.rs index 9d1201b..9bbff0a 100644 --- a/src/parser/element.rs +++ b/src/parser/element.rs @@ -20,7 +20,7 @@ impl FromAst for Ast { impl FromAst for String { fn from_ast(e: Ast) -> AstResult { - Ok(e.as_value()?.to_string()) + Ok(e.as_value()?.as_string().unwrap()) } } @@ -78,26 +78,3 @@ impl FromAst for Element { }) } } - -#[cfg(test)] -mod test { - - use super::super::{ - ast::Ast, - element::{Element, FromAst}, - lexer, - }; - - use insta; - - #[test] - fn test() { - let parser = super::parser::parser::AstParser::new(); - insta::with_settings!({sort_maps => true}, { - let lexer = lexer::Lexer::new(0, "(box :bar 12 :baz \"hi\" foo (bar))".to_string()); - insta::assert_debug_snapshot!( - Element::::from_ast(parser.parse(0, lexer).unwrap()).unwrap() - ); - }); - } -} diff --git a/src/parser/lexer.rs b/src/parser/lexer.rs index d13cfa3..eb74f14 100644 --- a/src/parser/lexer.rs +++ b/src/parser/lexer.rs @@ -66,8 +66,8 @@ regex_rules! { r"false" => |_| Token::False, r#""(?:[^"\\]|\\.)*""# => |x| Token::StrLit(x), r#"[+-]?(?:[0-9]+[.])?[0-9]+"# => |x| Token::NumLit(x), - r#"[a-zA-Z_!\?<>/.*-+][^\s{}\(\)\[\](){}]*"# => |x| Token::Symbol(x), - r#":\S+"# => |x| Token::Keyword(x), + r#":[^\s\)\]}]+"# => |x| Token::Keyword(x), + r#"[a-zA-Z_!\?<>/\.\*-\+][^\s{}\(\)\[\](){}]*"# => |x| Token::Symbol(x), r#";.*"# => |_| Token::Comment, r"[ \t\n\f]+" => |_| Token::Skip } @@ -126,7 +126,7 @@ impl Iterator for Lexer { let m = LEXER_REGEXES[i].find(string).unwrap(); (m.end(), i) }) - .next(); + .min_by_key(|(_, x)| *x); let (len, i) = match matched_token { Some(x) => x, @@ -140,7 +140,7 @@ impl Iterator for Lexer { let old_pos = self.pos; self.pos += len; match LEXER_FNS[i](tok_str.to_string()) { - Token::Skip => {} + Token::Skip | Token::Comment => {} token => { return Some(Ok((old_pos, token, self.pos))); } diff --git a/src/parser/mod.rs b/src/parser/mod.rs index d00ad8a..e8ed750 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -54,7 +54,7 @@ fn test() { r#"(test "h\"i")"#, r#"(test " hi ")"#, "(+ (1 2 (* 2 5)))", - r#"; test"#, + r#"foo ; test"#, r#"(f arg ; test arg2)"#, "\"h\\\"i\"" diff --git a/src/parser/parser.lalrpop b/src/parser/parser.lalrpop index 5b1debc..7ecc91b 100644 --- a/src/parser/parser.lalrpop +++ b/src/parser/parser.lalrpop @@ -26,8 +26,8 @@ extern { } } -pub Toplevel: Vec = { - <()*> => <> +pub Toplevel: (Span, Vec) = { + )*> => (Span(l, r, file_id), elems) } pub Ast: Ast = { @@ -40,7 +40,7 @@ pub Ast: Ast = { "comment" => Ast::Comment(Span(l, r, file_id)), }; -Keyword: Ast = => Ast::Keyword(Span(l, r, file_id), x.to_string()); +Keyword: Ast = => Ast::Keyword(Span(l, r, file_id), x[1..].to_string()); Symbol: Ast = => Ast::Symbol(Span(l, r, file_id), x.to_string()); Value: String = { diff --git a/src/parser/snapshots/eww_config__parser__element__test__test.snap.new b/src/parser/snapshots/eww_config__parser__element__test__test.snap similarity index 84% rename from src/parser/snapshots/eww_config__parser__element__test__test.snap.new rename to src/parser/snapshots/eww_config__parser__element__test__test.snap index 56ba341..f38b397 100644 --- a/src/parser/snapshots/eww_config__parser__element__test__test.snap.new +++ b/src/parser/snapshots/eww_config__parser__element__test__test.snap @@ -6,8 +6,8 @@ expression: "Element::::from_ast(parser.parse(0, lexer).unwrap()).unwr Element { name: "box", attrs: { - ":bar": "12", - ":baz": "hi", + "baz": "hi", + "bar": "12", }, children: [ foo, diff --git a/src/parser/snapshots/eww_config__parser__test-10.snap b/src/parser/snapshots/eww_config__parser__test-10.snap new file mode 100644 index 0000000..86604ce --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-10.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(lol😄 1)\".to_string()))" + +--- +Ok( + (lol😄 "1"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-11.snap b/src/parser/snapshots/eww_config__parser__test-11.snap new file mode 100644 index 0000000..ac7da83 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-11.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, r#\"(test \"hi\")\"#.to_string()))" + +--- +Ok( + (test "hi"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-12.snap b/src/parser/snapshots/eww_config__parser__test-12.snap new file mode 100644 index 0000000..1906a01 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-12.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, r#\"(test \"h\\\"i\")\"#.to_string()))" + +--- +Ok( + (test "h\"i"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-13.snap b/src/parser/snapshots/eww_config__parser__test-13.snap new file mode 100644 index 0000000..53ceea1 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-13.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, r#\"(test \" hi \")\"#.to_string()))" + +--- +Ok( + (test " hi "), +) diff --git a/src/parser/snapshots/eww_config__parser__test-14.snap b/src/parser/snapshots/eww_config__parser__test-14.snap new file mode 100644 index 0000000..de774e7 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-14.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(+ (1 2 (* 2 5)))\".to_string()))" + +--- +Ok( + (+ ("1" "2" (* "2" "5"))), +) diff --git a/src/parser/snapshots/eww_config__parser__test-15.snap b/src/parser/snapshots/eww_config__parser__test-15.snap new file mode 100644 index 0000000..929bfab --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-15.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, r#\"foo ; test\"#.to_string()))" + +--- +Ok( + foo, +) diff --git a/src/parser/snapshots/eww_config__parser__test-16.snap b/src/parser/snapshots/eww_config__parser__test-16.snap new file mode 100644 index 0000000..bd07751 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-16.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, r#\"(f arg ; test\n arg2)\"#.to_string()))" + +--- +Ok( + (f arg arg2), +) diff --git a/src/parser/snapshots/eww_config__parser__test-17.snap b/src/parser/snapshots/eww_config__parser__test-17.snap new file mode 100644 index 0000000..23356d7 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-17.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"\\\"h\\\\\\\"i\\\"\".to_string()))" + +--- +Ok( + "h\"i", +) diff --git a/src/parser/snapshots/eww_config__parser__test-2.snap b/src/parser/snapshots/eww_config__parser__test-2.snap new file mode 100644 index 0000000..43fb4a4 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-2.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(12)\".to_string()))" + +--- +Ok( + ("12"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-3.snap b/src/parser/snapshots/eww_config__parser__test-3.snap new file mode 100644 index 0000000..fb2160d --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-3.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"1.2\".to_string()))" + +--- +Ok( + "1.2", +) diff --git a/src/parser/snapshots/eww_config__parser__test-4.snap b/src/parser/snapshots/eww_config__parser__test-4.snap new file mode 100644 index 0000000..464f39b --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-4.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"-1.2\".to_string()))" + +--- +Ok( + "-1.2", +) diff --git a/src/parser/snapshots/eww_config__parser__test-5.snap b/src/parser/snapshots/eww_config__parser__test-5.snap new file mode 100644 index 0000000..d1331e7 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-5.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(1 2)\".to_string()))" + +--- +Ok( + ("1" "2"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-6.snap b/src/parser/snapshots/eww_config__parser__test-6.snap new file mode 100644 index 0000000..31b00ed --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-6.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(1 :foo 1)\".to_string()))" + +--- +Ok( + ("1" :foo "1"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-7.snap b/src/parser/snapshots/eww_config__parser__test-7.snap new file mode 100644 index 0000000..e0454d1 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-7.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(:foo 1)\".to_string()))" + +--- +Ok( + (:foo "1"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-8.snap b/src/parser/snapshots/eww_config__parser__test-8.snap new file mode 100644 index 0000000..9025a0f --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-8.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(:foo->: 1)\".to_string()))" + +--- +Ok( + (:foo->: "1"), +) diff --git a/src/parser/snapshots/eww_config__parser__test-9.snap b/src/parser/snapshots/eww_config__parser__test-9.snap new file mode 100644 index 0000000..503bb62 --- /dev/null +++ b/src/parser/snapshots/eww_config__parser__test-9.snap @@ -0,0 +1,8 @@ +--- +source: src/parser/mod.rs +expression: "p.parse(0, Lexer::new(0, \"(foo 1)\".to_string()))" + +--- +Ok( + (foo "1"), +) diff --git a/src/parser/snapshots/eww_config__parser__test.snap.new b/src/parser/snapshots/eww_config__parser__test.snap similarity index 100% rename from src/parser/snapshots/eww_config__parser__test.snap.new rename to src/parser/snapshots/eww_config__parser__test.snap diff --git a/src/snapshots/eww_config__config__test__test.snap b/src/snapshots/eww_config__config__test__test.snap deleted file mode 100644 index ac592e4..0000000 --- a/src/snapshots/eww_config__config__test__test.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: src/config.rs -expression: "Element::::from_expr(parser.parse(0, lexer).unwrap()).unwrap()" - ---- -Element { - name: "box", - attrs: { - ":bar": Value<10..12>(12), - ":baz": Value<18..22>(hi), - }, - children: [ - Symbol<23..26>(foo), - List<27..32>( - [ - Symbol<28..31>(bar), - ], - ), - ], - span: 0..33, -} diff --git a/src/snapshots/eww_config__test-10.snap b/src/snapshots/eww_config__test-10.snap deleted file mode 100644 index 00f2730..0000000 --- a/src/snapshots/eww_config__test-10.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(lol😄 1)\"))" - ---- -Ok( - List<0..11>( - [ - Symbol<1..8>(lol😄), - Value<9..10>(1), - ], - ), -) diff --git a/src/snapshots/eww_config__test-11.snap b/src/snapshots/eww_config__test-11.snap deleted file mode 100644 index 5b02964..0000000 --- a/src/snapshots/eww_config__test-11.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(r#\"(test \"hi\")\"#))" - ---- -Ok( - List<0..11>( - [ - Symbol<1..5>(test), - Value<6..10>(hi), - ], - ), -) diff --git a/src/snapshots/eww_config__test-12.snap b/src/snapshots/eww_config__test-12.snap deleted file mode 100644 index b60c2dd..0000000 --- a/src/snapshots/eww_config__test-12.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(r#\"(test \"h\\\"i\")\"#))" - ---- -Ok( - List<0..13>( - [ - Symbol<1..5>(test), - Value<6..12>(h\"i), - ], - ), -) diff --git a/src/snapshots/eww_config__test-13.snap b/src/snapshots/eww_config__test-13.snap deleted file mode 100644 index e103f93..0000000 --- a/src/snapshots/eww_config__test-13.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(r#\"(test \" hi \")\"#))" - ---- -Ok( - List<0..13>( - [ - Symbol<1..5>(test), - Value<6..12>( hi ), - ], - ), -) diff --git a/src/snapshots/eww_config__test-14.snap b/src/snapshots/eww_config__test-14.snap deleted file mode 100644 index 9271dab..0000000 --- a/src/snapshots/eww_config__test-14.snap +++ /dev/null @@ -1,25 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(+ (1 2 (* 2 5)))\"))" - ---- -Ok( - List<0..17>( - [ - Symbol<1..2>(+), - List<3..16>( - [ - Value<4..5>(1), - Value<6..7>(2), - List<8..15>( - [ - Symbol<9..10>(*), - Value<11..12>(2), - Value<13..14>(5), - ], - ), - ], - ), - ], - ), -) diff --git a/src/snapshots/eww_config__test-15.snap b/src/snapshots/eww_config__test-15.snap deleted file mode 100644 index c439fd1..0000000 --- a/src/snapshots/eww_config__test-15.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(r#\"; test\"#))" - ---- -Ok( - Comment<0..6>, -) diff --git a/src/snapshots/eww_config__test-16.snap b/src/snapshots/eww_config__test-16.snap deleted file mode 100644 index 30c9111..0000000 --- a/src/snapshots/eww_config__test-16.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(r#\"(f arg ; test\n arg2)\"#))" - ---- -Ok( - List<0..27>( - [ - Symbol<1..2>(f), - Symbol<3..6>(arg), - Comment<7..13>, - Symbol<22..26>(arg2), - ], - ), -) diff --git a/src/snapshots/eww_config__test-17.snap b/src/snapshots/eww_config__test-17.snap deleted file mode 100644 index 17db7ac..0000000 --- a/src/snapshots/eww_config__test-17.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"\\\"h\\\\\\\"i\\\"\"))" - ---- -Ok( - Value<0..6>(h\"i), -) diff --git a/src/snapshots/eww_config__test-2.snap b/src/snapshots/eww_config__test-2.snap deleted file mode 100644 index c99806f..0000000 --- a/src/snapshots/eww_config__test-2.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(12)\"))" - ---- -Ok( - List<0..4>( - [ - Value<1..3>(12), - ], - ), -) diff --git a/src/snapshots/eww_config__test-3.snap b/src/snapshots/eww_config__test-3.snap deleted file mode 100644 index 09d221f..0000000 --- a/src/snapshots/eww_config__test-3.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"1.2\"))" - ---- -Ok( - Value<0..3>(1.2), -) diff --git a/src/snapshots/eww_config__test-4.snap b/src/snapshots/eww_config__test-4.snap deleted file mode 100644 index f29bac3..0000000 --- a/src/snapshots/eww_config__test-4.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"-1.2\"))" - ---- -Ok( - Value<0..4>(-1.2), -) diff --git a/src/snapshots/eww_config__test-5.snap b/src/snapshots/eww_config__test-5.snap deleted file mode 100644 index 0c3ad08..0000000 --- a/src/snapshots/eww_config__test-5.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(1 2)\"))" - ---- -Ok( - List<0..5>( - [ - Value<1..2>(1), - Value<3..4>(2), - ], - ), -) diff --git a/src/snapshots/eww_config__test-6.snap b/src/snapshots/eww_config__test-6.snap deleted file mode 100644 index b3b4ab8..0000000 --- a/src/snapshots/eww_config__test-6.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(1 :foo 1)\"))" - ---- -Ok( - List<0..10>( - [ - Value<1..2>(1), - Number<3..7>(:foo), - Value<8..9>(1), - ], - ), -) diff --git a/src/snapshots/eww_config__test-7.snap b/src/snapshots/eww_config__test-7.snap deleted file mode 100644 index de5b5c0..0000000 --- a/src/snapshots/eww_config__test-7.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(:foo 1)\"))" - ---- -Ok( - List<0..8>( - [ - Number<1..5>(:foo), - Value<6..7>(1), - ], - ), -) diff --git a/src/snapshots/eww_config__test-8.snap b/src/snapshots/eww_config__test-8.snap deleted file mode 100644 index c149453..0000000 --- a/src/snapshots/eww_config__test-8.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(:foo->: 1)\"))" - ---- -Ok( - List<0..11>( - [ - Number<1..8>(:foo->:), - Value<9..10>(1), - ], - ), -) diff --git a/src/snapshots/eww_config__test-9.snap b/src/snapshots/eww_config__test-9.snap deleted file mode 100644 index cd26a6e..0000000 --- a/src/snapshots/eww_config__test-9.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"(foo 1)\"))" - ---- -Ok( - List<0..7>( - [ - Symbol<1..4>(foo), - Value<5..6>(1), - ], - ), -) diff --git a/src/snapshots/eww_config__test.snap b/src/snapshots/eww_config__test.snap deleted file mode 100644 index 034b165..0000000 --- a/src/snapshots/eww_config__test.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: src/lib.rs -expression: "p.parse(0, lexer::Lexer::new(\"1\"))" - ---- -Ok( - Value<0..1>(1), -)