From ad26fd94c2175f3ddf1034ef0782db77f1107ad7 Mon Sep 17 00:00:00 2001 From: Marek Kaput Date: Tue, 26 Nov 2024 13:28:11 +0100 Subject: [PATCH] Update cairo snippets tests --- test-support/cairo-snippets.gen.mjs | 22 +++++++++-- test/snapshots/03c478259d.txt | 23 +++++++++++ test/snapshots/07f81ae322.txt | 20 ++++++++++ test/snapshots/1d0fb4cb72.txt | 23 +++++++++++ test/snapshots/216e611c2c.txt | 25 ++++++++++++ test/snapshots/46af71b748.txt | 25 ++++++++++++ test/snapshots/4857646105.txt | 20 ++++++++++ test/snapshots/54b11ce428.txt | 22 +++++++++++ test/snapshots/90a1b3e79b.txt | 26 +++++++++++++ test/snapshots/989ce82952.txt | 28 ++++++++++++++ test/snapshots/a8222035a3.txt | 46 ++++++++++++++++++++++ test/snapshots/b8fbad0b3e.txt | 24 ++++++++++++ test/snapshots/bff0ed748f.txt | 30 +++++++++++++++ test/snapshots/c02e027d0d.txt | 59 +++++++++++++++++++++++++++++ test/snapshots/c6d9afabc3.txt | 19 ++++++++++ test/snapshots/cc1ab622d1.txt | 22 +++++++++++ test/snapshots/d2cc7ec731.txt | 21 ++++++++++ test/snapshots/f5463ef6ab.txt | 42 ++++++++++++++++++++ test/snapshots/f5af4c7685.txt | 30 +++++++++++++++ test/snapshots/fa4246efcc.txt | 19 ++++++++++ 20 files changed, 543 insertions(+), 3 deletions(-) create mode 100644 test/snapshots/03c478259d.txt create mode 100644 test/snapshots/07f81ae322.txt create mode 100644 test/snapshots/1d0fb4cb72.txt create mode 100644 test/snapshots/216e611c2c.txt create mode 100644 test/snapshots/46af71b748.txt create mode 100644 test/snapshots/4857646105.txt create mode 100644 test/snapshots/54b11ce428.txt create mode 100644 test/snapshots/90a1b3e79b.txt create mode 100644 test/snapshots/989ce82952.txt create mode 100644 test/snapshots/a8222035a3.txt create mode 100644 test/snapshots/b8fbad0b3e.txt create mode 100644 test/snapshots/bff0ed748f.txt create mode 100644 test/snapshots/c02e027d0d.txt create mode 100644 test/snapshots/c6d9afabc3.txt create mode 100644 test/snapshots/cc1ab622d1.txt create mode 100644 test/snapshots/d2cc7ec731.txt create mode 100644 test/snapshots/f5463ef6ab.txt create mode 100644 test/snapshots/f5af4c7685.txt create mode 100644 test/snapshots/fa4246efcc.txt diff --git a/test-support/cairo-snippets.gen.mjs b/test-support/cairo-snippets.gen.mjs index 438fdde..f95bc3e 100644 --- a/test-support/cairo-snippets.gen.mjs +++ b/test-support/cairo-snippets.gen.mjs @@ -12,6 +12,7 @@ export default [ "#[derive(Copy, Drop)]\nenum bool {\n False: (),\n True: (),\n}\n\n#[empty_attr()]\nmod empty {}\n\n#[derive(Copy, Drop, PartialEq, Serde)]\nstruct u256 {\n low: u128,\n}\n\n#[post('/', data: '')]\nfn string_value() {}\n\n#[cfg(attr(value: C))]\nfn const_value() {}\n\n#[cfg_attr(test, assert_instr(instr: add_a.b))]\nfn custom_name() {}\n\n#[attr(foo::bar, qwe)]\nfn arbitrary_token_tree() {}", "#[extern]\n#[abc]\nfn missing_id (ref: Ref::) { }", "#[mod]\nfn foo() {}", + "// Regular comment\n//! Inner documentation comment\n/// Documentation comment\nfn foo() {}", "// TODO(Gil): handle multiline diagnostics.\n#[bbb]\nmacro", "/// TODO(Tomerstarkware): parse logical operators with lower precedence than `=`\nfn f() {\n if let Some(x) = 2 && false {\n 3\n }\n}", ";\n#[attr]\nfn foo(var1: int var2: felt252) -> int {\n let bla = 7 + true + 'abc'; // comment\n return bar(bla);\n}\n", @@ -19,7 +20,7 @@ export default [ "const X: NonZero:: = 0x1234;", "const X: [felt252; 3] = [1, 2, 3];", "enum MyEnum {\n A(felt252),\n}", - "enum MyEnum {\n A: felt252,\n B: felt252,\n MissingComma\n}", + "enum MyEnum {\n A: felt252,\n B: felt252,\n MissingComma,\n}", "enum _ {}", "enum mod {}", "extern fn _() nopanic;", @@ -27,9 +28,13 @@ export default [ "extern type _;", "extern type mod;", "fn _() {}", + "fn bar() {}\n// Regular comment\n/// Documentation comment\n//! Inner documentation comment\nfn foo() {}", + "fn bar() {}\n/// Documentation comment\n// Regular comment\n//! Inner documentation comment\nfn foo() {}", "fn emit, -traits::Into>(ref self: T, event: S) {}", + "fn f() -> bool {\n 3 < 1 > 5\n}", "fn f() -> u32 {\n -3 * 5\n}", "fn f() -> u32 {\n -a * 5\n}", + "fn f() {\n for i in 1..x {}\n}", "fn f() {\n if 0 == if x {1} else {2} {\n }\n}", "fn f() {\n if 1 == 2 {\n 3\n } else if 4 == 5 {\n 6\n } else if 7 == 8 {\n 9\n } else {\n 10\n }\n}", "fn f() {\n if MyStruct{a: 0} == MyStruct{a: 1} {\n }\n}", @@ -55,7 +60,8 @@ export default [ "fn f() {\n match MyStruct{a: 1} {\n }\n match x {\n 1 => {},\n Struct{a, b: _, .., a: A::Variant(4)} => {},\n x => {},\n bool::False() => {}\n }\n}", "fn f() {\n while let Some(x) = 2 {\n break 5;\n }\n}", "fn f() {\n while true {\n 1;\n }\n}", - "fn f() {\n {\n 5\n } + match x {\n E::V1(_) => 4,\n E::V2(_) => 2\n } - if cond {\n 32\n } else {\n 1\n }\n}", + "fn f() {\n x += false && true..1 + 2\n}", + "fn f() {\n {\n 5\n } + match x {\n E::V1(_) => 4,\n E::V2(_) => 2,\n } - if cond {\n 32\n } else {\n 1\n }\n}", "fn f() {\n {4} - 1 + / 2 + {5}\n}", 'fn f() {\n let unterminated_str = "abc;\n}', "fn f() {\n let unterminated_str = 'abc;\n}", @@ -64,7 +70,7 @@ export default [ "fn f(mod: felt252) {}", "fn f(ref _: felt252) {}", "fn f(ref mod: felt252) {}", - "fn f(x: felt252,) {\n let x = 5;\n match x {\n 0 | 1 => 1,\n _ => 2,\n };\n}", + "fn f(x: felt252) {\n let x = 5;\n match x {\n 0 | 1 => 1,\n _ => 2,\n };\n}", "fn foo (x:T) -> S\n{\n let x = -5 + 3;\n let y : T = x*2 + 3*5; // Comment.\n let z = ;\n let v = bool::True == false;\n 5 + Struct{a: 5, b: Struct2{_gg: ()}};\n return df == 6;\n x + y\n}\n\npub impl A of B {\n fn foo() {\n if bla.\n // The module below should parse correctly, not inside this impl.\n }\n}\n\npub mod my_mod{\n fn bar (x:T0, s: S) -> X {\n x.a *+-. s.s * foo(1,3)\n }\n struct A{\n x: a, // Comment.\n y: int\n }\n\n}\n\nskipped tokens\n", "fn foo() -> Aaaaa Bbb + Cc {\n}", "fn foo() -> Aaaaa Bbb + Cc; let x = 0; }", @@ -76,13 +82,18 @@ export default [ "fn foo() {\n #[aaa]\n let x = 1;\n #[bbb]\n}", "fn foo() {\n #[aaa]\n}", "fn foo() {\n #[an_attribute]\n let x = 1;\n}", + "fn foo() {\n #[attribute]\n type R = u8;\n}", + "fn foo() {\n #[attribute]\n use X::*;\n}", + "fn foo() {\n #[attribute]\n use X::Y;\n}", "fn foo() {\n #[bbb]\n // A comment\n}", + "fn foo() {\n #[flat]\n const X: felt252 = 3;\n}", "fn foo() {\n $\n #[aaa]\n}", "fn foo() {\n // A comment\n #[bbb]\n}", "fn foo() {\n A { _ }\n}", "fn foo() {\n A { mod }\n}", "fn foo() {\n bar::();\n}", "fn foo() {\n bar::();\n}", + "fn foo() {\n const X = 3;\n}", "fn foo() {\n let MyStruct { _ } = 3;\n}", "fn foo() {\n let MyStruct { mod } = 3;\n}", 'fn foo() {\n let a = "\\u{1024}";\n}', @@ -94,6 +105,10 @@ export default [ "fn foo() {\n let ref _ = 3;\n}", "fn foo() {\n let ref mod = 3;\n}", "fn foo() {\n let x += 5;\n}", + "fn foo() {\n type R = u8;\n}", + "fn foo() {\n use X::*;\n}", + "fn foo() {\n use X::Y;\n}", + "fn foo() {\n use X::{A, *, B};\n}", "fn foo() {}\nskipped tokens\nfn bar() {}", "fn foo(a: Option::) {}", "fn foo(a: Option) {}", @@ -157,6 +172,7 @@ export default [ "skipped tokens", "struct A {\n _: felt252\n}", "struct A {\n a: felt252,\n}\nfn f(x: (A, felt252)) {\n let (A { a: mut a }, ref mut b) = x;\n}", + "struct A {\n member: felt252,\n}\n\nfn foo() {\n const X: felt252 = 3;\n const Y: A = A { member: 3 };\n}", "struct A {\n mod: felt252\n}", "struct A<_> {}", "struct A {}", diff --git a/test/snapshots/03c478259d.txt b/test/snapshots/03c478259d.txt new file mode 100644 index 0000000..0d5d014 --- /dev/null +++ b/test/snapshots/03c478259d.txt @@ -0,0 +1,23 @@ +//! > cairo_code +fn f() { + x += false && true..1 + 2 +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +f source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +x source.cairo variable.other.cairo ++= source.cairo keyword.operator.assignment.cairo +false source.cairo constant.language.bool.cairo +&& source.cairo keyword.operator.logical.cairo +true source.cairo constant.language.bool.cairo +.. source.cairo keyword.operator.range.cairo +1 source.cairo constant.numeric.decimal.cairo ++ source.cairo keyword.operator.math.cairo +2 source.cairo constant.numeric.decimal.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/07f81ae322.txt b/test/snapshots/07f81ae322.txt new file mode 100644 index 0000000..55e5971 --- /dev/null +++ b/test/snapshots/07f81ae322.txt @@ -0,0 +1,20 @@ +//! > cairo_code +fn foo() { + use X::*; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +use source.cairo meta.use.cairo keyword.other.cairo +␣ source.cairo meta.use.cairo +X source.cairo meta.use.cairo entity.name.namespace.cairo +:: source.cairo meta.use.cairo keyword.operator.namespace.cairo +* source.cairo meta.use.cairo keyword.operator.math.cairo +; source.cairo meta.use.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/1d0fb4cb72.txt b/test/snapshots/1d0fb4cb72.txt new file mode 100644 index 0000000..ee23eda --- /dev/null +++ b/test/snapshots/1d0fb4cb72.txt @@ -0,0 +1,23 @@ +//! > cairo_code +fn f() -> bool { + 3 < 1 > 5 +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +f source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +-> source.cairo meta.function.definition.cairo keyword.operator.arrow.skinny.cairo +␣ source.cairo meta.function.definition.cairo +bool source.cairo meta.function.definition.cairo entity.name.type.primitive.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +3 source.cairo constant.numeric.decimal.cairo +< source.cairo keyword.operator.comparison.cairo +1 source.cairo constant.numeric.decimal.cairo +> source.cairo keyword.operator.comparison.cairo +5 source.cairo constant.numeric.decimal.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/216e611c2c.txt b/test/snapshots/216e611c2c.txt new file mode 100644 index 0000000..ca9dd34 --- /dev/null +++ b/test/snapshots/216e611c2c.txt @@ -0,0 +1,25 @@ +//! > cairo_code +fn foo() { + #[attribute] + use X::Y; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +# source.cairo meta.attribute.cairo punctuation.definition.attribute.cairo +[ source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +attribute source.cairo meta.attribute.cairo +] source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +use source.cairo meta.use.cairo keyword.other.cairo +␣ source.cairo meta.use.cairo +X source.cairo meta.use.cairo entity.name.namespace.cairo +:: source.cairo meta.use.cairo keyword.operator.namespace.cairo +Y source.cairo meta.use.cairo entity.name.type.cairo +; source.cairo meta.use.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/46af71b748.txt b/test/snapshots/46af71b748.txt new file mode 100644 index 0000000..69c18d1 --- /dev/null +++ b/test/snapshots/46af71b748.txt @@ -0,0 +1,25 @@ +//! > cairo_code +fn foo() { + #[attribute] + use X::*; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +# source.cairo meta.attribute.cairo punctuation.definition.attribute.cairo +[ source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +attribute source.cairo meta.attribute.cairo +] source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +use source.cairo meta.use.cairo keyword.other.cairo +␣ source.cairo meta.use.cairo +X source.cairo meta.use.cairo entity.name.namespace.cairo +:: source.cairo meta.use.cairo keyword.operator.namespace.cairo +* source.cairo meta.use.cairo keyword.operator.math.cairo +; source.cairo meta.use.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/4857646105.txt b/test/snapshots/4857646105.txt new file mode 100644 index 0000000..743aff7 --- /dev/null +++ b/test/snapshots/4857646105.txt @@ -0,0 +1,20 @@ +//! > cairo_code +fn foo() { + use X::Y; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +use source.cairo meta.use.cairo keyword.other.cairo +␣ source.cairo meta.use.cairo +X source.cairo meta.use.cairo entity.name.namespace.cairo +:: source.cairo meta.use.cairo keyword.operator.namespace.cairo +Y source.cairo meta.use.cairo entity.name.type.cairo +; source.cairo meta.use.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/54b11ce428.txt b/test/snapshots/54b11ce428.txt new file mode 100644 index 0000000..6e14410 --- /dev/null +++ b/test/snapshots/54b11ce428.txt @@ -0,0 +1,22 @@ +//! > cairo_code +enum MyEnum { + A: felt252, + B: felt252, + MissingComma, +} + +//! > syntax +enum source.cairo keyword.declaration.enum.cairo storage.type.cairo +MyEnum source.cairo entity.name.type.enum.cairo +{ source.cairo punctuation.brackets.curly.cairo +A source.cairo entity.name.type.cairo +: source.cairo keyword.operator.key-value.cairo +felt252 source.cairo entity.name.type.numeric.cairo +, source.cairo punctuation.comma.cairo +B source.cairo entity.name.type.cairo +: source.cairo keyword.operator.key-value.cairo +felt252 source.cairo entity.name.type.numeric.cairo +, source.cairo punctuation.comma.cairo +MissingComma source.cairo entity.name.type.cairo +, source.cairo punctuation.comma.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/90a1b3e79b.txt b/test/snapshots/90a1b3e79b.txt new file mode 100644 index 0000000..df1c132 --- /dev/null +++ b/test/snapshots/90a1b3e79b.txt @@ -0,0 +1,26 @@ +//! > cairo_code +fn foo() { + #[flat] + const X: felt252 = 3; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +# source.cairo meta.attribute.cairo punctuation.definition.attribute.cairo +[ source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +flat source.cairo meta.attribute.cairo +] source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +const source.cairo storage.type.cairo +X source.cairo constant.other.caps.cairo +: source.cairo keyword.operator.key-value.cairo +felt252 source.cairo entity.name.type.numeric.cairo += source.cairo keyword.operator.assignment.equal.cairo +3 source.cairo constant.numeric.decimal.cairo +; source.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/989ce82952.txt b/test/snapshots/989ce82952.txt new file mode 100644 index 0000000..96dabd4 --- /dev/null +++ b/test/snapshots/989ce82952.txt @@ -0,0 +1,28 @@ +//! > cairo_code +fn foo() { + use X::{A, *, B}; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +use source.cairo meta.use.cairo keyword.other.cairo +␣ source.cairo meta.use.cairo +X source.cairo meta.use.cairo entity.name.namespace.cairo +:: source.cairo meta.use.cairo keyword.operator.namespace.cairo +{ source.cairo meta.use.cairo punctuation.brackets.curly.cairo +A source.cairo meta.use.cairo entity.name.type.cairo +, source.cairo meta.use.cairo punctuation.comma.cairo +␣ source.cairo meta.use.cairo +* source.cairo meta.use.cairo keyword.operator.math.cairo +, source.cairo meta.use.cairo punctuation.comma.cairo +␣ source.cairo meta.use.cairo +B source.cairo meta.use.cairo entity.name.type.cairo +} source.cairo meta.use.cairo punctuation.brackets.curly.cairo +; source.cairo meta.use.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/a8222035a3.txt b/test/snapshots/a8222035a3.txt new file mode 100644 index 0000000..f0ad5d3 --- /dev/null +++ b/test/snapshots/a8222035a3.txt @@ -0,0 +1,46 @@ +//! > cairo_code +struct A { + member: felt252, +} + +fn foo() { + const X: felt252 = 3; + const Y: A = A { member: 3 }; +} + +//! > syntax +struct source.cairo keyword.declaration.struct.cairo storage.type.cairo +A source.cairo entity.name.type.struct.cairo +{ source.cairo punctuation.brackets.curly.cairo +member source.cairo variable.other.cairo +: source.cairo keyword.operator.key-value.cairo +felt252 source.cairo entity.name.type.numeric.cairo +, source.cairo punctuation.comma.cairo +} source.cairo punctuation.brackets.curly.cairo +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +const source.cairo storage.type.cairo +X source.cairo constant.other.caps.cairo +: source.cairo keyword.operator.key-value.cairo +felt252 source.cairo entity.name.type.numeric.cairo += source.cairo keyword.operator.assignment.equal.cairo +3 source.cairo constant.numeric.decimal.cairo +; source.cairo punctuation.semi.cairo +const source.cairo storage.type.cairo +Y source.cairo constant.other.caps.cairo +: source.cairo keyword.operator.key-value.cairo +A source.cairo entity.name.type.cairo += source.cairo keyword.operator.assignment.equal.cairo +A source.cairo entity.name.type.cairo +{ source.cairo punctuation.brackets.curly.cairo +member source.cairo variable.other.cairo +: source.cairo keyword.operator.key-value.cairo +3 source.cairo constant.numeric.decimal.cairo +} source.cairo punctuation.brackets.curly.cairo +; source.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/b8fbad0b3e.txt b/test/snapshots/b8fbad0b3e.txt new file mode 100644 index 0000000..d8a1af4 --- /dev/null +++ b/test/snapshots/b8fbad0b3e.txt @@ -0,0 +1,24 @@ +//! > cairo_code +fn foo() { + #[attribute] + type R = u8; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +# source.cairo meta.attribute.cairo punctuation.definition.attribute.cairo +[ source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +attribute source.cairo meta.attribute.cairo +] source.cairo meta.attribute.cairo punctuation.brackets.attribute.cairo +type source.cairo keyword.declaration.type.cairo storage.type.cairo +R source.cairo entity.name.type.declaration.cairo += source.cairo keyword.operator.assignment.equal.cairo +u8 source.cairo entity.name.type.numeric.cairo +; source.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/bff0ed748f.txt b/test/snapshots/bff0ed748f.txt new file mode 100644 index 0000000..c4d1c71 --- /dev/null +++ b/test/snapshots/bff0ed748f.txt @@ -0,0 +1,30 @@ +//! > cairo_code +fn bar() {} +/// Documentation comment +// Regular comment +//! Inner documentation comment +fn foo() {} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +bar source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo +/// source.cairo comment.line.documentation.cairo punctuation.definition.comment.cairo +␣Documentation␣comment source.cairo comment.line.documentation.cairo +// source.cairo comment.line.double-slash.cairo punctuation.definition.comment.cairo +␣Regular␣comment source.cairo comment.line.double-slash.cairo +// source.cairo comment.line.double-slash.cairo punctuation.definition.comment.cairo +!␣Inner␣documentation␣comment source.cairo comment.line.double-slash.cairo +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/c02e027d0d.txt b/test/snapshots/c02e027d0d.txt new file mode 100644 index 0000000..eb2fc88 --- /dev/null +++ b/test/snapshots/c02e027d0d.txt @@ -0,0 +1,59 @@ +//! > cairo_code +fn f() { + { + 5 + } + match x { + E::V1(_) => 4, + E::V2(_) => 2, + } - if cond { + 32 + } else { + 1 + } +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +f source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +{ source.cairo punctuation.brackets.curly.cairo +5 source.cairo constant.numeric.decimal.cairo +} source.cairo punctuation.brackets.curly.cairo ++ source.cairo keyword.operator.math.cairo +match source.cairo keyword.control.cairo +x source.cairo variable.other.cairo +{ source.cairo punctuation.brackets.curly.cairo +E source.cairo entity.name.type.cairo +:: source.cairo keyword.operator.namespace.cairo +V1 source.cairo meta.function.call.cairo entity.name.function.cairo +( source.cairo meta.function.call.cairo punctuation.brackets.round.cairo +_ source.cairo meta.function.call.cairo variable.other.cairo +) source.cairo meta.function.call.cairo punctuation.brackets.round.cairo +=> source.cairo keyword.operator.arrow.fat.cairo +4 source.cairo constant.numeric.decimal.cairo +, source.cairo punctuation.comma.cairo +E source.cairo entity.name.type.cairo +:: source.cairo keyword.operator.namespace.cairo +V2 source.cairo meta.function.call.cairo entity.name.function.cairo +( source.cairo meta.function.call.cairo punctuation.brackets.round.cairo +_ source.cairo meta.function.call.cairo variable.other.cairo +) source.cairo meta.function.call.cairo punctuation.brackets.round.cairo +=> source.cairo keyword.operator.arrow.fat.cairo +2 source.cairo constant.numeric.decimal.cairo +, source.cairo punctuation.comma.cairo +} source.cairo punctuation.brackets.curly.cairo +- source.cairo keyword.operator.math.cairo +if source.cairo keyword.control.cairo +cond source.cairo variable.other.cairo +{ source.cairo punctuation.brackets.curly.cairo +32 source.cairo constant.numeric.decimal.cairo +} source.cairo punctuation.brackets.curly.cairo +else source.cairo keyword.control.cairo +{ source.cairo punctuation.brackets.curly.cairo +1 source.cairo constant.numeric.decimal.cairo +} source.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/c6d9afabc3.txt b/test/snapshots/c6d9afabc3.txt new file mode 100644 index 0000000..b4a3025 --- /dev/null +++ b/test/snapshots/c6d9afabc3.txt @@ -0,0 +1,19 @@ +//! > cairo_code +fn foo() { + const X = 3; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +const source.cairo storage.type.cairo +X source.cairo constant.other.caps.cairo += source.cairo keyword.operator.assignment.equal.cairo +3 source.cairo constant.numeric.decimal.cairo +; source.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/cc1ab622d1.txt b/test/snapshots/cc1ab622d1.txt new file mode 100644 index 0000000..1919367 --- /dev/null +++ b/test/snapshots/cc1ab622d1.txt @@ -0,0 +1,22 @@ +//! > cairo_code +fn f() { + for i in 1..x {} +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +f source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +for source.cairo keyword.control.cairo +i source.cairo variable.other.cairo +in source.cairo keyword.other.cairo +1 source.cairo constant.numeric.decimal.cairo +.. source.cairo keyword.operator.range.cairo +x source.cairo variable.other.cairo +{ source.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/d2cc7ec731.txt b/test/snapshots/d2cc7ec731.txt new file mode 100644 index 0000000..b763f94 --- /dev/null +++ b/test/snapshots/d2cc7ec731.txt @@ -0,0 +1,21 @@ +//! > cairo_code +// Regular comment +//! Inner documentation comment +/// Documentation comment +fn foo() {} + +//! > syntax +// source.cairo comment.line.double-slash.cairo punctuation.definition.comment.cairo +␣Regular␣comment source.cairo comment.line.double-slash.cairo +// source.cairo comment.line.double-slash.cairo punctuation.definition.comment.cairo +!␣Inner␣documentation␣comment source.cairo comment.line.double-slash.cairo +/// source.cairo comment.line.documentation.cairo punctuation.definition.comment.cairo +␣Documentation␣comment source.cairo comment.line.documentation.cairo +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/f5463ef6ab.txt b/test/snapshots/f5463ef6ab.txt new file mode 100644 index 0000000..aa60b40 --- /dev/null +++ b/test/snapshots/f5463ef6ab.txt @@ -0,0 +1,42 @@ +//! > cairo_code +fn f(x: felt252) { + let x = 5; + match x { + 0 | 1 => 1, + _ => 2, + }; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +f source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +x source.cairo meta.function.definition.cairo variable.other.cairo +: source.cairo meta.function.definition.cairo keyword.operator.key-value.cairo +␣ source.cairo meta.function.definition.cairo +felt252 source.cairo meta.function.definition.cairo entity.name.type.numeric.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +let source.cairo keyword.other.cairo storage.type.cairo +x source.cairo variable.other.cairo += source.cairo keyword.operator.assignment.equal.cairo +5 source.cairo constant.numeric.decimal.cairo +; source.cairo punctuation.semi.cairo +match source.cairo keyword.control.cairo +x source.cairo variable.other.cairo +{ source.cairo punctuation.brackets.curly.cairo +0 source.cairo constant.numeric.decimal.cairo +| source.cairo keyword.operator.logical.cairo +1 source.cairo constant.numeric.decimal.cairo +=> source.cairo keyword.operator.arrow.fat.cairo +1 source.cairo constant.numeric.decimal.cairo +, source.cairo punctuation.comma.cairo +_ source.cairo variable.other.cairo +=> source.cairo keyword.operator.arrow.fat.cairo +2 source.cairo constant.numeric.decimal.cairo +, source.cairo punctuation.comma.cairo +} source.cairo punctuation.brackets.curly.cairo +; source.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/f5af4c7685.txt b/test/snapshots/f5af4c7685.txt new file mode 100644 index 0000000..c132940 --- /dev/null +++ b/test/snapshots/f5af4c7685.txt @@ -0,0 +1,30 @@ +//! > cairo_code +fn bar() {} +// Regular comment +/// Documentation comment +//! Inner documentation comment +fn foo() {} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +bar source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo +// source.cairo comment.line.double-slash.cairo punctuation.definition.comment.cairo +␣Regular␣comment source.cairo comment.line.double-slash.cairo +/// source.cairo comment.line.documentation.cairo punctuation.definition.comment.cairo +␣Documentation␣comment source.cairo comment.line.documentation.cairo +// source.cairo comment.line.double-slash.cairo punctuation.definition.comment.cairo +!␣Inner␣documentation␣comment source.cairo comment.line.double-slash.cairo +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +} source.cairo punctuation.brackets.curly.cairo diff --git a/test/snapshots/fa4246efcc.txt b/test/snapshots/fa4246efcc.txt new file mode 100644 index 0000000..fef5067 --- /dev/null +++ b/test/snapshots/fa4246efcc.txt @@ -0,0 +1,19 @@ +//! > cairo_code +fn foo() { + type R = u8; +} + +//! > syntax +fn source.cairo meta.function.definition.cairo keyword.other.fn.cairo +␣ source.cairo meta.function.definition.cairo +foo source.cairo meta.function.definition.cairo entity.name.function.cairo +( source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +) source.cairo meta.function.definition.cairo punctuation.brackets.round.cairo +␣ source.cairo meta.function.definition.cairo +{ source.cairo meta.function.definition.cairo punctuation.brackets.curly.cairo +type source.cairo keyword.declaration.type.cairo storage.type.cairo +R source.cairo entity.name.type.declaration.cairo += source.cairo keyword.operator.assignment.equal.cairo +u8 source.cairo entity.name.type.numeric.cairo +; source.cairo punctuation.semi.cairo +} source.cairo punctuation.brackets.curly.cairo